




已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
精選文庫 “藍(lán)橋杯”軟件大賽練習(xí)題 求素?cái)?shù) 最大公約數(shù) 和最小公倍數(shù) 連續(xù)自然數(shù) 分?jǐn)?shù)比較 猜數(shù)字游戲 抓交通肇事犯 古堡算式 約瑟夫問題 捕魚問題 出售金魚 親密數(shù) 完全數(shù) 加密 巧奪偶數(shù) 數(shù)字移動(dòng) 1、求101200之間一共有多少個(gè)素?cái)?shù) #include #include int su(int m) int i,n=1; for(i=2;i=sqrt(m);i+) if (m%i=0) n=0; break; return n; main() int i,num=0; for(i=101;i=200;i+) if(su(i) num+; printf(101200之間素?cái)?shù)個(gè)數(shù)是%d,num); 2、求最大公約數(shù)和最小公倍數(shù) #include int zdgxs(int x,int y) int t; if(xy) t=x;x=y;y=t; t=x%y; while(t) x=y; y=t; t=x%y; return y; int zxgbs(int x,int y) return (x*y/zdgxs(x,y); main() int a,b,gxs,gbs; printf(please input two numbers:); scanf(%d%d, gxs=zdgxs(a,b); gbs=zxgbs(a,b); printf(%d和%d的最大公約數(shù)是%dn,a,b, gxs); printf(%d和%d的最小公倍數(shù)是%dn,a,b, gbs); 3、請找出十個(gè)最小的連續(xù)自然數(shù),它們個(gè)個(gè)都是合數(shù)(非素?cái)?shù)) #include #include int su(long m) int i,n=1; for(i=2;i=10) break; for(i=0;i%d/%dn,a,b,c,d); else if(a1c1) printf(%d/%d%d/%dn,a,b,c,d); else printf(%d/%d=%d/%dn,a,b,c,d); 5、猜數(shù)字游戲 #include main() int num1,num2; srand(time(NULL); num1=rand()%100; printf(請輸入一個(gè)0到100之間的整數(shù):); scanf(%d, while(1) scanf(%d, if(num1=num2) printf(你真棒,猜對了!); break; else if(num1num2) printf(猜大了,重猜!); else printf(太小了,重猜!); 6、抓交通肇事犯 一輛卡車違反交通規(guī)則,撞人后逃跑。現(xiàn)場有三人目擊事件,但都沒有記住車號,只記下車號的一些特征。甲說:牌照的前兩位數(shù)字是相同的;乙說:牌照的后兩位數(shù)字是相同的,但與前兩位不同; 丙是數(shù)學(xué)家,他說:四位的車號剛好是一個(gè)整數(shù)的平方。請根據(jù)以上線索求出車號。 *問題分析與算法設(shè)計(jì) 按照題目的要求造出一個(gè)前兩位數(shù)相同、后兩位數(shù)相同且相互間又不同的整數(shù),然后判斷該整數(shù)是否是另一個(gè)整數(shù)的平方。 #include #include main() int num,i,j,k; for(i=1;i=9;i+) for(j=0;j=9;j+) if(i!=j) num=i*1000+i*100+j*10+j; for(k=1;k*kdata1=1; head-data2=1; p=head; for(i=2;idata1=i; q-data2=i; p-next=q; p=q; p-next=NULL; return(head); struct node * delete_node(struct node *head,struct node *p) struct node *q; if(p=head) head=p-next; p-next=NULL; else q=head; while(q-next!=p) q=q-next; q-next=p-next; free(p); return (head); main() struct node *head,*p,*q; int num,i; printf(請輸入人數(shù):); scanf(%d, head=create_list(num); while(num1) p=head; while(p) if(p-data1)%2) q=p; p=p-next; head=delete_node(head,q); num-; else p=p-next; p=head; i=1; while(p) p-data1=i; i+; p=p-next; printf(最后剩下的人原來的位置是%dn,head-data2); 8、古堡算式 福爾摩斯到某古堡探險(xiǎn),看到門上寫著一個(gè)奇怪的算式: ABCDE * ? = EDCBA 他對華生說:ABCDE應(yīng)該代表不同的數(shù)字,問號也代表某個(gè)數(shù)字!華生:“我猜也是!于是,兩人沉默了好久,還是沒有算出合適的結(jié)果來。請你利用計(jì)算機(jī)的優(yōu)勢,找到破解的答案。把ABCDE 所代表的數(shù)字寫出來。 #include int func(long n,int m) int num5,i=0,j; long n1=n; while(n1) numi+=n1%10; n1=n1/10; for(i=0;i4;i+) for(j=i+1;j5;j+) if (numi=numj) return 0; n1=n*m; i=4; while(n1) if(n1%10!=numi-) return 0; n1=n1/10; return 1; main() long i; int j; for(i=10000;i100000;i+) for(j=2;jdata1=1; /head-data2=1; p=head; for(i=2;idata1=i; /q-data2=i; p-next=q; p=q; p-next=head; return(head); struct node * delete_node(struct node *head,struct node *p) struct node *q; if(p=head) head=p-next; p-next=NULL; else q=head; while(q-next!=p) q=q-next; q-next=p-next; free(p); return (head); void print_list(struct node *head) struct node *p; printf(%5d,head-data1); p=head-next; while(p!=head) printf(%5d,p-data1); p=p-next; main() struct node *head,*p,*q; int num=M+N,n; head=create_list(M+N); p=head; while(numN) n=1; while(nnext; n+; q=p; p=p-next; head=delete_node(head,q); num-; print_list(head); 10、捕魚問題 A、B、C、D、E五個(gè)人在某天夜里合伙去捕魚,到第二天凌晨時(shí)都疲憊不堪,于是各自找地方睡覺。日上三桿,A第一個(gè)醒來,他將魚分為五份,把多余的一條魚扔掉,拿走自己的一份。B第二個(gè)醒來,也將魚分為五份,把多余的一條魚扔掉,保持走自己的一份。C、D、E依次醒來,也按同樣的方法拿走魚。問他們合伙至少捕了多少條魚? #include main() int i;long num=1; for(i=1;i=5;i+) num=(num*5)+1; printf(num=%dn,num); 11、出售金魚 買賣提將養(yǎng)的一缸金魚分五次出售系統(tǒng)上一次賣出全部的一半加二分之一條;第二次賣出余下的三分之一加三分之一條;第三次賣出余下的四分之一加四分之一條;第四次賣出余下的五分之一加五分之一條;最后賣出余下的11條。問原來的魚缸中共有幾條金魚? *問題分析與算法設(shè)計(jì) 題目中所有的魚是分五次出售的,每次賣出的策略相同;第j次賣剩下的(j+1)分之一再加1/(j+1)條。第五次將第四次余下的11條全賣了。 假定第j次魚的總數(shù)為X,則第j次留下: x-(x+1)/(j+1) 當(dāng)?shù)谒拇纬鍪弁戤厱r(shí),應(yīng)該剩下11條。若X滿足上述要求,則X就是題目的解。 應(yīng)當(dāng)注意的是:(x+1)/(j+1)應(yīng)滿足整除條件。試探X的初值可以從23開始,試探的步長為2,因?yàn)閄的值一定為奇數(shù)。 *程序說明與注釋 #include int main() int i,j,n=0,x; /*n為標(biāo)志變量*/ for(i=23;n=0;i+=2) /*控制試探的步長和過程*/ for(j=1,x=i;j=11;j+) /*完成出售四次的操作*/ if(x+1)%(j+1)=0) /*若滿足整除條件則進(jìn)行實(shí)際的出售操作*/ x-=(x+1)/(j+1); else x=0;break; /*否則停止計(jì)算過程*/ if(j=5 /*輸出結(jié)果*/ n=1; /*控制退出試探過程*/ 12、親密數(shù) 如果整數(shù)A的全部因子(包括1,不包括A本身)之和等于B;且整數(shù)B的全部因子(包括1,不包括B本身)之和等于A,則將整數(shù)A和B稱為親密數(shù)。求3000以內(nèi)的全部親密數(shù)。 *問題分析與算法設(shè)計(jì) 按照親密數(shù)定義,要判斷數(shù)a是否有親密數(shù),只要計(jì)算出a的全部因子的累加和為b,再計(jì)算b的全部因子的累加和為n,若n等于a則可判定a和b是親密數(shù)。計(jì)算數(shù)a的各因子的算法: 用a依次對i(i=1a/2)進(jìn)行模運(yùn)算,若模運(yùn)算結(jié)果等于0,則i為a的一個(gè)因子;否則i就不是a的因子。 *程序說明與注釋 #include int main() int a,i,b,n; printf(There are following friendlynumbers pair smaller than 3000:n); for(a=1;a3000;a+) /*窮舉1000以內(nèi)的全部整數(shù)*/ for(b=0,i=1;i=a/2;i+) /*計(jì)算數(shù)a的各因子,各因子之和存放于b*/ if(!(a%i)b+=i; /*計(jì)算b的各因子,各因子之和存于n*/ for(n=0,i=1;i=b/2;i+) if(!(b%i)n+=i; if(n=a /*若n=a,則a和b是一對親密數(shù),輸出*/ 13.完全數(shù) 如果一個(gè)數(shù)恰好等于它的因子之和,則稱該數(shù)為“完全數(shù)”。 *問題分析與算法設(shè)計(jì) 根據(jù)完全數(shù)的定義,先計(jì)算所選取的整數(shù)a(a的取值11000)的因子,將各因子累加于m,若m等于a,則可確認(rèn)a為完全數(shù)。 *程序說明與注釋 #include int main() int a,i,m; printf(There are following perfect numbers smaller than 1000:n); for(a=1;a1000;a+) /*循環(huán)控制選取11000中的各數(shù)進(jìn)行判斷*/ for(m=0,i=1;i=a/2;i+) /*計(jì)算a的因子,并將各因子之和m=a,則a是完全數(shù)輸出*/ if(!(a%i)m+=i; if(m=a) printf(%4d ,a); printf(n); 14、加密 題目:某個(gè)公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后除以10,用余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。 編程實(shí)現(xiàn)輸入一個(gè)電話號碼,得到加密后的數(shù)字。 1.程序分析: 2.程序源代碼: #include main() int a,i,aa4,t; scanf(%d, aa0=a%10; aa1=a%100/10; aa2=a%1000/100; aa3=a/1000; for(i=0;i i) s = s + i; a = a - i; else s = s + a; a = 0; while(1) printf(請輸入你這次要取的粒數(shù):); scanf(%d, if(i=1) break; else printf(輸入不正確,請重新輸入13之間的數(shù):n); if( a i) w = w + i; a = a - i; else w = w + a; a = 0; printf(你一共取的粒數(shù)是:%d,機(jī)器一共取的粒數(shù)是:%d,w,s); if( w%2=0 ) printf(所以你贏了n); else printf(所以你輸了n); 16數(shù)字移動(dòng) 在圖中的九個(gè)點(diǎn)上,空出中間的點(diǎn),其余的點(diǎn)上任意填入數(shù)字1到8;1的位置固定不動(dòng),然后移動(dòng)其余的數(shù)字,使1到8順時(shí)針從小到大排列.移動(dòng)的規(guī)律是:只能將數(shù)字沿線移向空白的點(diǎn).請編程顯示數(shù)字移動(dòng)過程。 #include int a8=0,1,2,5,8,7,6,3; int b9; int c8; int count=0; void show_screen() int i; printf(第%2d次移動(dòng)n,count+); for(i=0;i9;i+) if(i%3=2) printf(%2dn,bi); else printf(%2d,bi); int main() int i,j,k,t; void show_screen(); printf(請輸入8個(gè)18之間的數(shù)字:n); for(i=0;i8
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國中鹽榨菜絲行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告
- 中國飼料用魚粉行業(yè)市場前景預(yù)測及投資戰(zhàn)略研究報(bào)告
- 2025年 達(dá)州市大竹縣鄉(xiāng)村職業(yè)經(jīng)理人招聘筆試試題附答案
- 中國遠(yuǎn)程協(xié)作辦公行業(yè)市場深度研究及投資戰(zhàn)略規(guī)劃報(bào)告
- 花葉項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 紅外防水?dāng)z像機(jī)外殼項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 中國有線數(shù)字電視增值業(yè)務(wù)行業(yè)市場深度調(diào)查評估及投資方向研究報(bào)告
- 中國鐵路車輛設(shè)備行業(yè)發(fā)展運(yùn)行現(xiàn)狀及發(fā)展趨勢預(yù)測報(bào)告
- 鈦封頭行業(yè)深度研究分析報(bào)告(2024-2030版)
- 北京消防培訓(xùn)課件
- 高墩柱墩身施工方案
- 2023年甘肅蘭州大學(xué)網(wǎng)絡(luò)與繼續(xù)教育學(xué)院人員招聘2人高頻考點(diǎn)題庫(共500題含答案解析)模擬練習(xí)試卷
- 肝內(nèi)膽管結(jié)石詳解
- 發(fā)電機(jī)勵(lì)磁系統(tǒng)檢修與維護(hù)
- 2023-2024學(xué)年福建省泉州市小學(xué)語文六年級期末自測模擬試卷
- GB 29541-2013熱泵熱水機(jī)(器)能效限定值及能效等級
- 控規(guī)用地代碼
- 2023年上杭縣社區(qū)工作者招聘考試筆試題庫及答案解析
- 2021年曹楊二中自招數(shù)學(xué)試卷
- 新能源汽車底盤檢修全套課件
- 幼兒園大班數(shù)學(xué)口算練習(xí)題可打印
評論
0/150
提交評論