acm暑期練習(xí)7-遞歸練習(xí)等_第1頁
acm暑期練習(xí)7-遞歸練習(xí)等_第2頁
acm暑期練習(xí)7-遞歸練習(xí)等_第3頁
acm暑期練習(xí)7-遞歸練習(xí)等_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1. 分解質(zhì)因數(shù) 根據(jù)數(shù)論的知識(shí)可知,任何一個(gè)合數(shù)都可以寫成幾個(gè)質(zhì)數(shù)相乘的形式,這幾個(gè)質(zhì)數(shù)都叫做這個(gè)合數(shù)的質(zhì)因數(shù)。例如:24=2X2X2X3。現(xiàn)在從鍵盤輸入一個(gè)正整數(shù),請編程輸出它的所有質(zhì)因數(shù)。Input從鍵盤輸入一個(gè)正整數(shù) n。Output輸出該整數(shù)的所有質(zhì)因數(shù)。Sample Input180Sample Output2 2 3 3 5解析:/* 算術(shù)基本定理 : 任意一個(gè)大于 1 的正整數(shù)都可以分解成有限個(gè)素?cái)?shù)的乘積,且分解是唯一的 . 質(zhì)數(shù)就是 1 乘以它本身 . 算術(shù)基本定理的最早證明是由歐幾里得給出的。任何一個(gè)大于1的自然數(shù)N,都可以唯一分解成有限個(gè)質(zhì)數(shù)的乘積:N=(P1Aa1)*(

2、P2Aa2)(P3Aa3)(PnAan),這里P1P2P3Pn是質(zhì)數(shù),其諸方冪 ai 是正整數(shù).這樣的分解稱為 N 的標(biāo)準(zhǔn)分解式 .*/#includevoid main()int i,n;scanf(%d,&n);for(i=2;in;)if(n%i=0)printf(%d ,i);n=n/i;elsei+;printf(%dn,n);2. 計(jì)算正整數(shù)的劃分?jǐn)?shù)。#include using namespace std;int part(int n,int m)if (n1|m1)return 0;if (n=1|m=1)return 1;if (nm)return part(n,n);if

3、(n=m)return part(n,m-1)+1;return part(n,m-1)+part(n-m,m); void main()int n,m;cinnm;coutvpart(n,m)vendl; 3求一個(gè)二位數(shù)的13次方后的最后三位數(shù)。#includevoid main()int i,n,lasthr=1;scanf(%d,&n);for(i=1;i=13;i+)/*標(biāo)題:nbu 1124斐波那契的兔子問題算法:記憶化遞歸模擬1202年,意大利數(shù)學(xué)家斐波那契(Fibonacci )出版了他的計(jì)算之書,在書中提到了一個(gè)關(guān)于兔子繁殖 的問題:如果一對兔子,過一個(gè)月之后長成大兔子,到第三

4、個(gè)月就可以生下一對兔子并且以后每個(gè)月都生 下一對兔子,而所生的一對小兔子也同樣到一個(gè)月之后長成大兔子,到第三個(gè)月就可以生下一對小兔并且 以后每個(gè)月都會(huì)生一對。假如兔子都不死,問第n個(gè)月的時(shí)候兔子的總對數(shù)為多少*/#include#include#define ll _int64ll a51;ll fun(int n)if(n=1|n=2)return 1;if(!a【n)an=fun(n-1)+fun(n-2);return an;int main()int n;memset(a,0,sizeof(a);while(scanf(%d,&n)!=EOF)printf(%I64dn,fun(n);

5、 附:斐波那契數(shù)列的遞推法(遞推法分為前推法和反推法) #include void main()int i,n;int f,f1=1,f2=1;scanf(%d,&n);printf(%6d%6d,f1,f2);for(i=3;i=n;i+)f=f1+f2;printf(%6d,f);if(i%5=0)printf(n);f1=f2;f2=f;Memset() 函數(shù) :1 void *memset(void *s,int c,size_t n) 總的作用:將已開辟內(nèi)存空間 s 的首 n 個(gè)字節(jié)的值設(shè)為值 c2。例子includevoid main()char *s=Golden Global

6、View;clrscr();memset(s,G,6);printf(%s,s);getchar();return 0;3。memset() 函數(shù)常用于內(nèi)存空間初始化。如:char str100;memset(str,0,100);4。memset()的深刻內(nèi)涵:用來對一段內(nèi)存空間全部設(shè)置為某個(gè)字符,一般用在對定義的字符串進(jìn)行初 始化為 或 /0 ;例 :char a100;memset(a, /0, sizeof(a);memcpyi來做內(nèi)存拷貝,你可以拿它拷貝任何數(shù)據(jù)類型的對象,可以指定拷貝的數(shù)據(jù)長度;例:chara100,b50; memcpy(b, a, sizeof(b);注意如用

7、sizeof(a),會(huì)造成 b 的內(nèi)存地址溢出。strcpy 就只能拷貝字符串了,它遇到 /0 就結(jié)束拷貝;例: char a100,b50;strcpy(a,b);如用strcpy(b,a) ,要注意 a 中的字符串長度(第一個(gè) /0 之前)是否超過 50 位,如超過,則會(huì)造成 b 的內(nèi)存地址溢出。5。補(bǔ)充:一點(diǎn)心得memset可以方便的清空一個(gè)結(jié)構(gòu)類型的變量或數(shù)組。如:struct sample_structchar csName16;int iSeq;int iType;對于變量struct sample_strcut stTest;一般情況下,清空 stTest 的方法:0=/0;=0

8、;=0;用 memset就非常方便:memset(&stTest,0,sizeof(struct sample_struct);如果是數(shù)組:struct sample_struct TEST10;則memset(TEST,0,sizeof(struct sample_struct)*10);6。strcpy原型: extern char *strcpy(char *dest,char *src);用法: i nclude功能:把src所指由NULL結(jié)束的字符串復(fù)制到 dest所指的數(shù)組中。說明: src 和 dest 所指內(nèi)存區(qū)域不可以重疊且 dest 必須有足夠的空間來容納 src 的字符串

9、。 返回指向 dest 的指針。memcpy原型: extern void *memcpy(void *dest, void *src, unsigned int count);用法: i nclude功能:由 src 所指內(nèi)存區(qū)域復(fù)制 count 個(gè)字節(jié)到 dest 所指內(nèi)存區(qū)域。說明: src 和 dest 所指內(nèi)存區(qū)域不能重疊,函數(shù)返回指向 dest 的指針。memset原型: extern void *memset(void *buffer, int c, int count);用法: i nclude功能:把 buffer 所指內(nèi)存區(qū)域的前 count 個(gè)字節(jié)設(shè)置成字符c。說明:返回指向 buffer 的指針。5.組合的輸出,(用遞歸法):n個(gè)數(shù)取r個(gè)數(shù)的組合,按從小到大的順序輸出#include using namespace std;int n,r,in30;void f(i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論