演算法實現題 (用c 檔案輸入輸出)

2021-09-23 08:11:07 字數 2831 閱讀 5069

演算法實現題   統計數字問題

問題描述:

一本書的頁碼從自然數1 開始順序編碼直到自然數n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字0。例如,第6 頁用數字6 表示,而不是06 或006 等。數字計數問題要求對給定書的總頁碼n,計算出書的全部頁碼中分別用到多少次數字0,1, 2,…,9。

程式設計任務:

給定表示書的總頁碼的10 進製整數n (1≤n≤109) 。程式設計計算書的全部頁碼中分別用到多少次數字0,1,2,…,9。

資料輸入:

輸入資料由檔名為input.txt 的文字檔案提供。每個檔案只有1 行,給出表示書的總頁碼的整數n。

結果輸出:

程式執行結束時,將計算結果輸出到檔案output.txt 中。輸出檔案共有10 行,在第k 行輸出頁碼中用到數字k-1 的次數,k=1,2,…,10。

輸入檔案示例        

input.txt 

11輸出檔案示例

output.txt14

1111

1111

#include

#include

#include

#include

using namespace std;

int c[10];

void solve(int n)

for(int i=0;ic[i]+=(int)round(pow(10.0,len-1));

}int t=(int)round(pow(10.0,len-1));

t=n%t;

if(t==0)

int lent=log10(t)+1;

if(lent!=len-1)

c[p]+=1+t;

return solve(t);

}int main()

for(int i=0;i<10;i++)

}in.close();    //關閉字元流物件

out.close();

return 0;

}演算法實現題     程式儲存問題

問題描述:

設有n 個程式要存放在長度為l 的磁帶上。程式i 存放在磁帶上的長度是li,1≤i≤n 。程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案,使得能夠在磁帶上儲存盡可能多的程式。

程式設計任務:

對於給定的n 個程式存放在磁帶上的長度,程式設計計算磁帶上最多可以儲存的程式數。

資料輸入:

由檔案input.txt 給出輸入資料。第一行是2 個正整數,分別表示檔案個數n 和磁帶的長度l。接下來的1 行中,有n 個正整數,表示程式存放在磁帶上的長度。

結果輸出:

將程式設計計算出的最多可以儲存的程式數輸出到檔案output.txt 。

輸入檔案示例輸出檔案示例

input.txt                        output.txt

6 50                                  5

2 3 13 8 80 20

#include

#include

#include //要用sort函式

using namespace std;

int a[1000];

int most(int *a,int n,int s)

if(i==n-1)

return n;//如果所有加起來都還沒達到磁帶長度限制}}

int main()

sort(a,a+n);//公升序排序 第乙個引數是陣列的首位址,一般寫上陣列名就可以

//第二個引數,首位址加上陣列的長度n(代表尾位址的下一位址)。

//最後乙個引數是比較函式的名稱(自定義函式cmp),

//這個比較函式可以不寫,即第三個引數可以預設,這樣sort會預設按陣列公升序排序。

out out.close();

return 0;

}演算法實現題    整數因子分解問題

問題描述:

大於1 的正整數n 可以分解為:n=x1*x2*…*xm。

例如,當n=12 時,共有8 種不同的分解式:

12=12;

12=6*2;

12=4*3;

12=3*4;

12=3*2*2;

12=2*6;

12=2*3*2;

12=2*2*3 。

程式設計任務:

對於給定的正整數n,程式設計計算n 共有多少種不同的分解式。

資料輸入:

由檔案input.txt 給出輸入資料。第一行有1 個正整數n (1≤n≤2000000000)。

結果輸出:

將計算出的不同的分解式數輸出到檔案output.txt 。

輸入檔案示例          輸出檔案示例

input.txt            output.txt

12                      8

#include

#include

#include

#include

using namespace std;

int count;

void solve(int n)

}int main()

in.close();    //關閉字元流物件

out.close();

return 0;

}c++中檔案讀寫操作

#include

#include

using namespace std;

int main()

in.close();    //關閉字元流物件

out.close();

return 0;

}

C 檔案輸入輸出

檔案輸入輸出 1 directory info 和file info 型別 directory和file通過靜態成員實現操作,擴充套件了system.object。返回強型別物件。directoryinfo和fileinfo通過例項級方法實現 必須使用new關鍵字分配它們 從filesystemin...

C 檔案輸入輸出

儲存在變數,陣列,物件中的資料都是暫時性的,當程式退出以後就會丟失,為了永久性儲存程式中有用資料,需要將資料以檔案形式儲存於磁碟或者光碟等物理介質。c 檔案主要是兩種 文字檔案和二進位制檔案 例如c 源程式是儲存在文字檔案,而最後的可執行程式是二進位制檔案。當然計算機本身是不區分二進位制檔案和文字的...

C 檔案輸入輸出

1 文字檔案的讀寫 文字檔案的讀寫,可以使用類似cin,cout方式,此外還有getline,get,二進位制檔案讀寫方式read,write經測試也可以使用 include include int main char buffer 256 注意使用getline讀至buffer,需新增 0 whi...