洛谷的幾道題(2)

P1008 [NOIP 1998 普及組] 三連擊

# P1008 [NOIP 1998 普及組] 三連擊

## 題目背景

本題為提交答案題,您可以寫程序或手算在本機上算出答案后,直接提交答案文本,也可提交答案生成程序。

## 題目描述

將 $1, 2, \ldots , 9$ 共 $9$ 個數分成 $3$ 組,分別組成 $3$ 個三位數,且使這 $3$ 個三位數構成 $1 : 2 : 3$ 的比例,試求出所有滿足條件的 $3$ 個三位數。

## 輸入格式

## 輸出格式

若干行,每行 $3$ 個數字。按照每行第 $1$ 個數字升序排列。

## 輸入輸出樣例 #1

### 輸入 #1

```

```

### 輸出 #1

```
192 384 576
* * *
...

* * *
(剩余部分不予展示)
```

## 說明/提示

NOIP1998 普及組 第一題

#include<bits/stdc++.h>
int main(){int a,b,c;for(a=123;a<=333;a++){b=a*2;c=a*3;if((a/100+a/10%10+a%10+b/100+b/10%10+b%10+c/100+c/10%10+c%10==1+2+3+4+5+6+7+8+9)&&((a/100)*(a/10%10)*(a%10)*(b/100)*(b/10%10)*(b%10)*(c/100)*(c/10%10)*(c%10)==(1)*(2)*(3)*(4)*(5)*(6)*(7)*(8)*(9)))printf("%d %d %d\n",a,b,c);}return 0;
}

P1009 [NOIP 1998 普及組] 階乘之和

# P1009 [NOIP 1998 普及組] 階乘之和

## 題目描述

用高精度計算出 $S = 1! + 2! + 3! + \cdots + n!$($n \le 50$)。

其中 `!` 表示階乘,定義為 $n!=n\times (n-1)\times (n-2)\times \cdots \times 1$。例如,$5! = 5 \times 4 \times 3 \times 2 \times 1=120$。

## 輸入格式

一個正整數 $n$。

## 輸出格式

一個正整數 $S$,表示計算結果。

## 輸入輸出樣例 #1

### 輸入 #1

```
3
```

### 輸出 #1

```
9
```

## 說明/提示

**【數據范圍】**

對于 $100 \%$ 的數據,$1 \le n \le 50$。

**【其他說明】**

注,《深入淺出基礎篇》中使用本題作為例題,但是其數據范圍只有 $n \le 20$,使用書中的代碼無法通過本題。

如果希望通過本題,請繼續學習第八章高精度的知識。

NOIP1998 普及組 第二題

#include<iostream>
#include<cstring>
using namespace std;
int n,a[90],b[90],c[90],f[90],d=0,len_a,len_b=1,len_c=1,len_ans,m=1;
string s;
int main(){cin>>n;b[0]=1; //初始化for(int i=1;i<=n;i++){ //計算i的階乘,已經算好了i-1的階乘len_a=0; //i的長度int p=i;while(p>0){ //把i存進a數組a[len_a++]=p%10;p/=10;}for(int j=0;j<len_a;j++) //計算a*b(i*(i-1)的階乘),即i的階乘,看不懂的網上查,我也不知道為什么for(int k=0;k<=len_b;k++)c[j+k]+=a[j]*b[k];for(int j=0;j<len_c;j++) //需要進位的就進位if(c[j]>9) c[j+1]+=c[j]/10,c[j]%=10;if(c[len_c]) len_c++; //看最高位要不要進位len_ans=len_b,len_b=len_c,m=max(m,len_c); //把len_b賦值給len_ans,修改len_b的值,m為i階乘的長度,看有沒有進位for(int k=len_c-1;k>=0;k--) b[k]=c[k]; //把c存進b數組,即存進i的階乘,下次循環b為i-1的階乘len_c=len_a+len_ans;memset(c,0,sizeof(c)); //清零c數組,準備計算下個階乘for(int j=0;j<m;j++){ //高精加,直接套模板f[j]+=b[j];if(f[j]>9) f[j+1]+=f[j]/10,f[j]%=10; //進位,注意不要寫成f[j+1]++,f[j]-=10;就因為這里wa了一個點}}while(!f[m]&&m>0) m--; //去掉首導零for(int i=m;i>=0;i--) cout<<f[i]; //倒序輸出return 0; 
}

P1014 [NOIP 1999 普及組] Cantor 表

# P1014 [NOIP 1999 普及組] Cantor 表

## 題目描述

現代數學的著名證明之一是 Georg Cantor 證明了有理數是可枚舉的。他是用下面這一張表來證明這一命題的:

![](https://cdn.luogu.com.cn/upload/image_hosting/jdjdaf73.png)

我們以 Z 字形給上表的每一項編號。第一項是 $1/1$,然后是 $1/2$,$2/1$,$3/1$,$2/2$,…

## 輸入格式

整數$N$($1 \leq N \leq 10^7$)。

## 輸出格式

表中的第 $N$ 項。

## 輸入輸出樣例 #1

### 輸入 #1

#include <bits/stdc++.h>
using namespace std; 
int main() {int n,k=1;cin>>n;while (n>k) {n=n-k;k++;}if(k%2==0) cout<<n<<"/"<<(k+1-n);else cout<<k+1-n<<"/"<<n;return 0;
} 

```
7
```

### 輸出 #1

```
1/4
```

## 說明/提示

- 2024-11-18 0:30 數據中加入了樣例,放在不計分的子任務 2 中。

P1044 [NOIP 2003 普及組] 棧

# P1044 [NOIP 2003 普及組] 棧

## 題目背景

棧是計算機中經典的數據結構,簡單的說,棧就是限制在一端進行插入刪除操作的線性表。

棧有兩種最重要的操作,即 pop(從棧頂彈出一個元素)和 push(將一個元素進棧)。

棧的重要性不言自明,任何一門數據結構的課程都會介紹棧。寧寧同學在復習棧的基本概念時,想到了一個書上沒有講過的問題,而他自己無法給出答案,所以需要你的幫忙。

## 題目描述

![](https://cdn.luogu.com.cn/upload/image_hosting/5qxy9fz2.png)

寧寧考慮的是這樣一個問題:一個操作數序列,$1,2,\ldots ,n$(圖示為 1 到 3 的情況),棧 A 的深度大于 $n$。

現在可以進行兩種操作,

1. 將一個數,從操作數序列的頭端移到棧的頭端(對應數據結構棧的 push 操作)
2. 將一個數,從棧的頭端移到輸出序列的尾端(對應數據結構棧的 pop 操作)

使用這兩種操作,由一個操作數序列就可以得到一系列的輸出序列,下圖所示為由 `1 2 3` 生成序列 `2 3 1` 的過程。

![](https://cdn.luogu.com.cn/upload/image_hosting/8uwv2pa2.png)

(原始狀態如上圖所示)

你的程序將對給定的 $n$,計算并輸出由操作數序列 $1,2,\ldots,n$ 經過操作可能得到的輸出序列的總數。

## 輸入格式

輸入文件只含一個整數 $n$($1 \leq n \leq 18$)。

## 輸出格式

輸出文件只有一行,即可能輸出序列的總數目。

## 輸入輸出樣例 #1

### 輸入 #1

```
3
```

### 輸出 #1

```
5
```

## 說明/提示

**【題目來源】**

NOIP 2003 普及組第三題

//遞歸轉遞推  遞推做法 
#include<cstdio>
#define MAX_N 20
#define ll long long
using namespace std;
int n;
ll f[MAX_N][MAX_N];
int main()
{scanf("%d",&n);for(int i=0;i<=n;i++){f[0][i]=1;}for(int i=1;i<=n;i++){for(int j=i;j<=n;j++){if(i==j)f[i][j]=f[i-1][j];else f[i][j]=f[i][j-1]+f[i-1][j];}}printf("%lld",f[n][n]);return 0;
}

# P1024 [NOIP 2001 提高組] 一元三次方程求解

## 題目描述

有形如:$a x^3 + b x^2 + c x + d = 0$ ?這樣的一個一元三次方程。給出該方程中各項的系數($a,b,c,d$ 均為實數),并約定該方程存在三個不同實根(根的范圍在 $-100$ 至 $100$ 之間),且根與根之差的絕對值 $\ge 1$。要求由小到大依次在同一行輸出這三個實根(根與根之間留有空格),并精確到小數點后 $2$ 位。

提示:記方程 $f(x) = 0$,若存在 $2$ 個數 $x_1$ 和 $x_2$,且 $x_1 < x_2$,$f(x_1) \times f(x_2) < 0$,則在 $(x_1, x_2)$ 之間一定有一個根。

## 輸入格式

一行,$4$ 個實數 $a, b, c, d$。

## 輸出格式

一行,$3$ 個實根,從小到大輸出,并精確到小數點后 $2$ 位。

## 輸入輸出樣例 #1

### 輸入 #1

```
1 -5 -4 20
```

### 輸出 #1

```
-2.00 2.00 5.00
```

## 說明/提示

**【題目來源】**

NOIP 2001 提高組第一題

#include<cstdio>
double a,b,c,d;
double fc(double x)
{return a*x*x*x+b*x*x+c*x+d;
}
int main()
{double l,r,m,x1,x2;int s=0,i;scanf("%lf%lf%lf%lf",&a,&b,&c,&d);  //輸入for (i=-100;i<100;i++){l=i; r=i+1;x1=fc(l); x2=fc(r);if(!x1) {printf("%.2lf ",l); s++;}      //判斷左端點,是零點直接輸出。//不能判斷右端點,會重復。if(x1*x2<0)                             //區間內有根。{while(r-l>=0.001)                     //二分控制精度。{m=(l+r)/2;  //middleif(fc(m)*fc(r)<=0) l=m; else r=m;   //計算中點處函數值縮小區間。}printf("%.2lf ",r);  //輸出右端點。s++;}if (s==3) break;             //找到三個就退出大概會省一點時間}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/77417.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/77417.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/77417.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Day10【基于encoder- decoder架構實現新聞文本摘要的提取】

實現新聞文本摘要的提取 1. 概述與背景2.參數配置3.數據準備4.數據加載5.主程序6.預測評估7.生成效果8.總結 1. 概述與背景 新聞摘要生成是自然語言處理&#xff08;NLP&#xff09;中的一個重要任務&#xff0c;其目標是自動從長篇的新聞文章中提取出簡潔、準確的摘要。近年來…

【大疆dji】ESDK開發環境搭建(軟件準備篇)

接上一篇【大疆dji】ESDK開發環境搭建&#xff08;硬件準備篇&#xff09; 1. 編譯環境 ESDK 提供 x86_64/aarch64 基于 Linux 平臺 Ubuntu 發行版操作系統構建的靜態庫&#xff0c;運行 demo 先正確安裝所需的依賴包。arm32位就不支持了。建議使用編譯安裝的方式&#xff0c;…

Java數據結構——ArrayList

Java中ArrayList 一 ArrayList的簡介二 ArrayList的構造方法三 ArrayList常用方法1.add()方法2.remove()方法3.get()和set()方法4.index()方法5.subList截取方法 四 ArrayList的遍歷for循環遍歷增強for循環(for each)迭代器遍歷 ArrayList問題及其思考 前言 ArrayList是一種 順…

【信息獲取能力】

第一層&#xff1a;表象觀察 現象&#xff1a;AI系統&#xff08;如GPT-4&#xff09;可以瞬間調用并整合全球互聯網上的公開信息&#xff0c;而人類即使窮盡一生也無法完成同等規模的知識儲備。 底層邏輯&#xff1a; 存儲與檢索效率&#xff1a;人類大腦的記憶容量有限&…

03、GPIO外設(三):標準庫代碼示例

標準庫代碼示例 1、點亮LED2、LED閃爍3、LED流水燈4、按鍵控制LED5、蜂鳴器 本章源代碼鏈接&#xff1a; 鏈接: link 1、點亮LED 實驗要求&#xff1a;點亮LED ①LED.c文件的代碼如下: #include "LED.h"/*** LED引腳初始化*//* 定義數組&#xff0c;想要添加引腳…

卷積神經網絡(CNN)與VGG16在圖像識別中的實驗設計與思路

卷積神經網絡&#xff08;CNN&#xff09;與VGG16在圖像識別中的實驗設計與思路 以下從基礎原理、VGG16架構解析、實驗設計步驟三個層面展開說明&#xff0c;結合代碼示例與關鍵參數設置&#xff0c;幫助理解其應用邏輯。 一、CNN與VGG16的核心差異 基礎CNN結構 通常包含33~55個…

java導出word含表格并且帶圖片

背景 我們需要通過 Java 動態導出 Word 文檔&#xff0c;基于預定義的 模板文件&#xff08;如 .docx 格式&#xff09;。模板中包含 表格&#xff0c;程序需要完成以下操作&#xff1a; 替換模板中的文本&#xff08;如占位符 ${設備類型} 等&#xff09;。 替換模板中的圖…

Oracle19C低版本一天遭遇兩BUG(ORA-04031/ORA-600)

昨天幫朋友看一個系統異常卡頓的案例&#xff0c;在這里分享給大家 環境&#xff1a;Exadata X8M 數據庫版本19.11 1.系統報錯信息 表象為系統卡頓&#xff0c;頁面無法刷出&#xff0c;登陸到主機上看到節點1 系統等待存在大量的 cursor: pin S wait on X等待 查看兩個節…

2025年Q1數據安全政策、規范、標準以及報告匯總共92份(附下載)

一、政策演進趨勢分析 &#xff08;一&#xff09;國家級政策新動向 數據要素市場建設 數據流通安全治理方案&#xff08;重點解析數據確權與交易規則&#xff09; 公共數據授權運營規范&#xff08;創新性提出分級授權機制&#xff09; 新興技術安全規范 人工智能安全標準…

ERR_PNPM_DLX_NO_BIN No binaries found in tailwindcss

場景復現&#xff1a; 最近在vue3項目中安裝了tailwindcss&#xff0c;但是它默認幫我安裝的版本是4XX的&#xff0c;導致我執行 npx tailwindcss init -p報錯了。 解決方案&#xff1a; 更改tailwindcss的版本為3 pnpm add -D tailwindcss3再次執行生成tailwindcss的初始…

第 4 篇:Motion 拖拽與手勢動畫(交互篇)—— 打造直覺化交互體驗

Framer Motion 的拖拽與手勢系統讓實現復雜交互變得異常簡單。本文將深入解析核心 API&#xff0c;并通過實戰案例演示如何創造自然流暢的交互體驗。 &#x1f9f2; 拖拽動畫基礎 1. 啟用拖拽 使用 drag 屬性即可開啟拖拽能力。支持的值有&#xff1a;true&#xff08;全方向…

CF148D Bag of mice

題目傳送門 思路 狀態設計 設 d p i , j dp_{i, j} dpi,j? 表示袋中有 i i i 個白鼠和 j j j 個黑鼠時&#xff0c; A A A 能贏的概率。 狀態轉移 現在考慮抓鼠情況&#xff1a; A A A 抓到白鼠&#xff1a;直接判 A A A 贏&#xff0c;概率是 i i j \frac{i}{i j}…

BT1120 BT656驅動相關代碼示例

前些年做視頻輸出項目的時候用過bt1120 tx與rx模塊&#xff0c;現將部分代碼進行記錄整理。代碼功能正常&#xff0c;可正常應用。 1. rx部分&#xff1a; /****************************************************************************** Copyright (C) 2021,All rights …

服務器簡介(含硬件外觀接口介紹)

服務器&#xff08;Server&#xff09;是指提供資源、服務、數據或應用程序的計算機系統或設備。它通常比普通的個人計算機更強大、更可靠&#xff0c;能夠長時間無間斷運行&#xff0c;支持多個用戶或客戶端的請求。簡單來說&#xff0c;服務器就是專門用來存儲、管理和提供數…

SQL-exists和in核心區別?、 性能對比?、適用場景?

EXISTS和IN的基本區別。IN用于檢查某個值是否在子查詢返回的結果集中,而EXISTS用于檢查子 查詢是否至少返回了一行數據。通常來說,EXISTS在子查詢結果集較大時表現更好,因為一旦找 到匹配項就會停止搜索,而IN則需要遍歷整個結果集。 在 SQL 中,EXISTS 和 IN 都可以用于…

煥活身心,解鎖健康養生新方式

健康養生是一門科學&#xff0c;更是一種生活智慧。從日常點滴做起&#xff0c;才能筑牢健康根基。? 飲食上&#xff0c;應遵循 “食物多樣&#xff0c;谷類為主” 原則。多攝入新鮮蔬果&#xff0c;它們富含維生素與膳食纖維&#xff0c;有助于增強免疫力&#xff1b;選擇全…

QT+Cmake+mingw32-make編譯64位的zlib-1.3.1源碼成功過程

由于開源的軟件zlib庫是很多相關庫libpng等基礎庫&#xff0c;因此掌握使用mingw編譯器來編譯zlib源碼的步驟十分重要。本文主要是通過圖文模式講解完整的qtcmakezlib源碼搭建和測試過程&#xff0c;為后續的其他源碼編譯環境搭建做基礎準備。 詳細步驟如下&#xff1a; 1、下…

健身會員管理系統(ssh+jsp+mysql8.x)含運行文檔

健身會員管理系統(sshjspmysql8.x) 對健身房的健身器材、會員、教練、辦卡、會員健身情況進行管理&#xff0c;可根據會員號或器材進行搜索&#xff0c;查看會員健身情況或器材使用情況。

【langchain4j】Springboot如何接入大模型以及實戰開發-AI問答助手(一)

langchain4j介紹 官網地址&#xff1a;https://docs.langchain4j.dev/get-started langchain4j可以說是java和spring的關系&#xff0c;spring讓我們開發java應用非常簡單&#xff0c;那么langchain4j對應的就是java開發ai的 “Spring” 他集成了AI應用的多種場景&#xff0c…

平均池化(Average Pooling)

1. 定義與作用?? ??平均池化??是一種下采樣操作&#xff0c;通過對輸入區域的數值取??平均值??來壓縮數據空間維度。其核心作用包括&#xff1a; ??降低計算量??&#xff1a;減少特征圖尺寸&#xff0c;提升模型效率。??保留整體特征??&#xff1a;平滑局部…