




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、WORD格式-專業(yè)學(xué)習(xí)資料-可編輯IntegerFactorizationDescription問(wèn)題描述:大于1的正整數(shù)n可以分解為:n=Xl*X2*-*Xmo例如,當(dāng)n=12時(shí),共有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*3o編程任務(wù):對(duì)于給定的正整數(shù)n,編程計(jì)算n共有多少種不同的分解式。Input輸入由多組測(cè)試數(shù)據(jù)組成。每組測(cè)試數(shù)據(jù)輸入第一行有1個(gè)正整數(shù)n(ln2000000000)oOutput對(duì)應(yīng)每組輸入,輸出計(jì)算出的不同的分解式數(shù)。SampleInput12SampleOutput8程序如
2、下:#include<stdio.h>#include<math.h>structDPintnum;intsum;d50000=0;intmax=0;voidqsort(intlow,inthigh,structDPkey)inti=low,j=high;structDPtag=keyi;if(i<j)(do(while(tag.num<keyj.num&&ij)j一一;學(xué)習(xí)資料分享if(i<j)(keyi=keyj;i+;while(tag.num>=keyi.num&&i<j)i+;if(i<j)(
3、keyj=keyi;J;)while(i<j);keyi=tag;qsort(low,j-l,key);qsort(i+1,high,key);)intdfs(intleft)inti,p;int1,r,m;intcount=0;1=0;r=max;while(l<=r)m=(l+r)>>1;if(dmLnum<left)l=m+l;elser=m-l;)p=l;if(dp.sum)returndp.sum;for(i=l;i<=di.num;i+)if(left%di.num=0)count+=dfs(left/dEi.num);)dLpLsum=coun
4、t;returncount;)intmain(void)inti,j,tmp;intn;scanf&n);tmp=sqrt(n);for(i=l;i<=tmp;i+)if(n%i=0)dmax.num=i;max+;dmax.num=n/i;max+;max;qsort(0,max,d);d0.sum=l;printf(%dn,dfs(n);return0;)比賽安排Description設(shè)有2、(n<=6)個(gè)球隊(duì)進(jìn)行單循環(huán)比賽,計(jì)劃在2、-1天內(nèi)完成,每個(gè)隊(duì)每天進(jìn)行一場(chǎng)比賽。設(shè)計(jì)一個(gè)比賽的安排,使在2X-1天內(nèi)每個(gè)隊(duì)都與不同的對(duì)手比賽。例如2時(shí)的比賽安排:隊(duì)1234比賽1
5、=23=4一天匚32二4二天1=42=3三天Input輸入由多組測(cè)試數(shù)據(jù)組成。每組測(cè)試數(shù)據(jù)輸入一個(gè)正整數(shù)代表題目中的noOutput對(duì)應(yīng)每組輸入,輸出如樣例所示。<1>1-2,3-4表示第一天1隊(duì)與2隊(duì),3隊(duì)與4隊(duì)比賽SampleInput2SampleOutput3-4<2>l-3,2-4<3>l-4,2-3程序如下:#include<stdio.h>inta8080;voidcopy(intn)intm,i,j;m=n/2;for(i=l;i<=m;i+)for(j=l;j<=m;j+)(aij+m=aij+m;ai+mj=aij
6、+m;ai+mj+m=aij;)voidwz(intn)(if(n=l)al1=1;return;elsewz(n/2);copy(n);)intmain()(intn,i,j,m,f,k;while(scanf&n)!=EOF)k=l;for(i=0;i<n;i+)k*二2;wz(k);m=0;for(j=2;j<=k;j+)m+;f=l;for(i=l;i<=k;i+)(if(aij!=0)if(f)printf(z/<%d>%d-%d,z,m,i,aij);f=0;elseprintf(,%d-%d/z,i,aij);aaijj=0;)printf(
7、n);)又是Hanoi塔問(wèn)JDescriptionA、B、C是3個(gè)塔座。開(kāi)始時(shí),在塔座A上有一疊共n個(gè)圓盤(pán),這些圓盤(pán)自下而上,由大到小地疊在一起。各圓盤(pán)從小到大編號(hào)為1,2,,n,奇數(shù)號(hào)圓盤(pán)著藍(lán)色,偶數(shù)號(hào)圓盤(pán)著紅色,如圖所示?,F(xiàn)要求將塔座A上的這一疊圓盤(pán)移到塔座B上,并仍按同樣順序疊置。在移動(dòng)圓盤(pán)時(shí)應(yīng)遵守以下移動(dòng)規(guī)則:規(guī)則(1):每次只能移動(dòng)1個(gè)圓盤(pán);規(guī)則(2):任何時(shí)刻都不允許將較大的圓盤(pán)壓在較小的圓盤(pán)之上;規(guī)則(3):任何時(shí)刻都不允許將同色圓盤(pán)疊在一起;規(guī)則(4):在滿足移動(dòng)規(guī)則(1)-的前提下,可將圓盤(pán)移至A,B,C中任一塔座上。按照上述四種規(guī)則移動(dòng)過(guò)程中,如將圓盤(pán)從A柱移到B柱,則稱B
8、柱使用一次。例如要將塔座A上2個(gè)圓盤(pán),按上述四種規(guī)則移動(dòng)到B柱,A柱使用0次,B柱使用2次,C柱使用1次。試設(shè)計(jì)一個(gè)算法,統(tǒng)計(jì)用最少的移動(dòng)次數(shù)將塔座A上的n個(gè)圓盤(pán)移到塔座B上并仍按同樣順序疊置時(shí),A柱、B柱、C柱的使用次數(shù)。編程任務(wù):對(duì)于給定的正整數(shù)n,編程計(jì)算最優(yōu)移動(dòng)方案時(shí),A柱、B柱、C柱的使用次數(shù)。Input輸入由多組測(cè)試數(shù)據(jù)組成。每組測(cè)試數(shù)據(jù)的第1行是給定的正整數(shù)n。Output對(duì)應(yīng)每組輸入,輸出的每一行由三個(gè)相互空格的正整數(shù)組成,分別表示塔座A的使用次數(shù)、塔座B的使用次數(shù)及塔座C的使用次數(shù)。SampleInput2SampleOutput021程序如下:Sinclude<ios
9、tream>usingnamespacestd;classHanoiprivate:intnumA,numB,numC;public:Hanoi0;voidMoveHanoi(intnum,charA,charB,charC);voidCaluater(charchi,charch2);voidDisplay0;Hanoi::Hanoi0numA=0;numB=0;numC=0;voidHanoi::Caluater(charchi,charch2)if(ch2='A')numA+;elseif(ch2='B')numB+;elsenumC+;voidHa
10、noi::MoveHanoi(intnum,charA,charB,charC)if(num>0)MoveHanoi(num-l,A,C,B);Caluater(A,B);MoveHanoi(num-l,C,B,A);voidHanoi::Display()cout«numA«/z>z«numC«endl;intmainOintnn;while(cin>>nn)Hanoih;h.MoveHanoi(nn,'A','B','C');h.Display0;return0;Permutat
11、ionwithRepetitionDescriptionR=rl,r2,,rn是要進(jìn)行排列的n個(gè)元素。其中元素rl,r2,,rn可能相同。試設(shè)計(jì)一個(gè)算法,列出R的所有不同排列。編程任務(wù):給定n以及待排列的n個(gè)元素。計(jì)算出這n個(gè)元素的所有不同排列。Input輸入由多組測(cè)試數(shù)據(jù)組成。每組測(cè)試數(shù)據(jù)的第1行是元素個(gè)數(shù)n,1爛n爛500o接下來(lái)的1行是待排列的n個(gè)元素。Output對(duì)應(yīng)每組輸入,將計(jì)算出的n個(gè)元素的所有不同排列輸出,每種排列單獨(dú)一行。最后1行中的數(shù)是排列總數(shù)。SampleInput4aaccSampleOutputaaccacacaccacaaccacaccaa6程序如下:#includ
12、e<stdio.h>#includealgorithmusingnamespacestd;intans;intok(charstr,inta,intb)if(b>a)for(inti=a;i<b;i+)if(stri=strb)return0;return1;voidperm(charstr,intk,intm)inti;if(k=m)ans+;for(i=0;i<=m;i+)printf(,z%cz,,stri);printfCn");)elsefor(i=k;i<=m;i+)if(ok(str,k,i)swap(strk,stri);perm(
13、str,k+1,m);swap(strk,stri);)intmain(intargc,char*argv)charstr1000;intn;while(scanf&n)!=EOF)ans=0;scanf(傳s”,str);perm(str,0,n-l);printf(“%dn,ans);)return0;ProblemC:整數(shù)劃分問(wèn)題Description將正整數(shù)n表示成一系列正整數(shù)之和:n=nl+n2+nk,其中nl2n2enkL正整數(shù)n的這種表示稱為正整數(shù)n的劃分。求正整數(shù)n的不同劃分個(gè)數(shù)。例如正整數(shù)6有如下11種不同的劃分:6:5+1:4+2,4+1+1;3+3,3+2+1,3
14、+1+1+1;2+2+2,2+2+1+1,2+1+1+1+1;l+1+l+l+l+loInput輸入包含n+1行;第一行是一個(gè)整數(shù)n,表示有n個(gè)測(cè)試用例;第2至n+1每行一個(gè)正整數(shù)。Output對(duì)應(yīng)每組輸入,輸出正整數(shù)n的不同劃分個(gè)數(shù)。SampleInput256SampleOutput711程序如下:#include<stdio.h>intsplit(intn,intm);intmainOintk,i;inta100;scanf&k);for(i=0;i<k;i+)scanf;)for(i=0;i<k;i+)printf(%dn”,split(ai,ai);)
15、intsplit(intn,intm)if(n<l)|(m<l)return0;if(n=l)|(m=l)return1;if(n<m)returnsplit(n,n);if(n=m)returnsplit(n,m-l)+l;returnsplit(n,m-l)+split(n-m,m);雙色Hanoi塔問(wèn),DescriptionA、B、C是3個(gè)塔座。開(kāi)始時(shí),在塔座A上有一疊共n個(gè)圓盤(pán),這些圓盤(pán)自下而上,由大到小地疊在一起。各圓盤(pán)從小到大編號(hào)為1,2,,n,奇數(shù)號(hào)圓盤(pán)著藍(lán)色,偶數(shù)號(hào)圓盤(pán)著紅色,如圖所示?,F(xiàn)要求將塔座A上的這一疊圓盤(pán)移到塔座B上,并仍按同樣順序疊置。在移動(dòng)圓盤(pán)時(shí)
16、應(yīng)遵守以下移動(dòng)規(guī)則:規(guī)則(1):每次只能移動(dòng)1個(gè)圓盤(pán);規(guī)則:任何時(shí)刻都不允許將較大的圓盤(pán)壓在較小的圓盤(pán)之上;規(guī)則(3):任何時(shí)刻都不允許將同色圓盤(pán)疊在一起;規(guī)則(4):在滿足移動(dòng)規(guī)則(1)-的前提下,可將圓盤(pán)移至A,B,C中任一塔座上。試設(shè)計(jì)一個(gè)算法,用最少的移動(dòng)次數(shù)將塔座A上的n個(gè)圓盤(pán)移到塔座B上,并仍按同樣順序疊置。編程任務(wù):對(duì)于給定的正整數(shù)n,編程計(jì)算最優(yōu)移動(dòng)方案。Input輸入由多組測(cè)試數(shù)據(jù)組成。每組測(cè)試數(shù)據(jù)的第1行是給定的正整數(shù)n。Output對(duì)應(yīng)每組輸入,輸出的每一行由一個(gè)正整數(shù)k和2個(gè)字符cl和c2組成,表示將第k個(gè)圓盤(pán)從塔座cl移到塔座。2上。SampleInput3Sampl
17、eOutput1AB2AC1BC3AB1CA2CB1AB程序如下:Sinclude<stdio.h>intsplit(intn,intm);intmainOintk,i;inta100;scanf&k);for(i=0;i<k;i+)scanf('Rd",&ai);)for(i=0;i<k;i+)printf("%dn”,split(ai,ai);)intsplit(intn,intm)if(n<l)|(m<l)return0;if(n=l)|(m=l)return1;if(n<m)returnsplit(n
18、,n);if(n=m)returnsplit(n,m-l)+l;returnsplit(n,m-l)+split(n-m,m);再次hanoi塔問(wèn)題Description古老的漢諾塔問(wèn)題是:用最少的步數(shù)將N個(gè)半徑互不相等的圓盤(pán)從1號(hào)柱利用2號(hào)柱全部移動(dòng)到3號(hào)柱,在移動(dòng)的過(guò)程中小盤(pán)要始終在大盤(pán)的上面?,F(xiàn)在再加上一個(gè)條件:不允許直接把盤(pán)從1號(hào)柱移動(dòng)到3號(hào)柱,也不允許直接把盤(pán)從3號(hào)柱移動(dòng)到1號(hào)柱。把盤(pán)按半徑從小到大用1N編號(hào)。每種狀態(tài)用N個(gè)整數(shù)表示,第i個(gè)整數(shù)表示i號(hào)盤(pán)所在的柱的編號(hào)。則N=2時(shí)的移動(dòng)方案為(1,1)2(2,1)2(3,1)2(3,2).(2,2)2(1,2)2(1,3)2(2,3).(3,3)初始狀態(tài)為第。步,編程求在某步數(shù)時(shí)的狀態(tài)。Input輸入的第1行為整數(shù)T(1WTW50000),表示輸入數(shù)據(jù)的組數(shù)。接下來(lái)的丁行,每行有兩個(gè)整數(shù)N,M(1WNW19,OWMW移動(dòng)N個(gè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 肇慶市實(shí)驗(yàn)中學(xué)高中生物一:生物膜的流動(dòng)鑲嵌模型習(xí)題課
- 2025至2031年中國(guó)絹花工藝品行業(yè)投資前景及策略咨詢研究報(bào)告
- 新疆體育職業(yè)技術(shù)學(xué)院《西方藝術(shù)里的故事》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年中國(guó)聚氨酯膠粘鞋料市場(chǎng)調(diào)查研究報(bào)告
- 新疆藝術(shù)學(xué)院《音樂(lè)基礎(chǔ)常識(shí)》2023-2024學(xué)年第二學(xué)期期末試卷
- 信陽(yáng)職業(yè)技術(shù)學(xué)院《即興思維與口語(yǔ)表達(dá)》2023-2024學(xué)年第二學(xué)期期末試卷
- 甘肅省平?jīng)鍪?024年中考數(shù)學(xué)五模試卷含解析
- 廣東省佛山市順德區(qū)市級(jí)名校2024屆中考數(shù)學(xué)考前最后一卷含解析
- 2025年員工三級(jí)安全培訓(xùn)考試試題含完整答案【典優(yōu)】
- 2025工廠員工安全培訓(xùn)考試試題附答案(鞏固)
- GB 29541-2013熱泵熱水機(jī)(器)能效限定值及能效等級(jí)
- FZ/T 07019-2021針織印染面料單位產(chǎn)品能源消耗限額
- 重癥醫(yī)學(xué)科各項(xiàng)規(guī)章制度匯編
- 社會(huì)組織培訓(xùn)概述課件
- 春節(jié)作文優(yōu)秀課件
- 三角函數(shù)的應(yīng)用論文Word版
- 農(nóng)業(yè)創(chuàng)業(yè)風(fēng)險(xiǎn)控制與防范培訓(xùn)課件
- 生物制造國(guó)內(nèi)外狀況課件
- 幼兒園大班數(shù)學(xué)口算練習(xí)題可打印
- 藥物臨床試驗(yàn)管理和質(zhì)量控制課件(PPT 55頁(yè))
- 【匯總】高二政治選擇性必修三(統(tǒng)編版) 重點(diǎn)知識(shí)點(diǎn)匯總
評(píng)論
0/150
提交評(píng)論