




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1.抓交通肇事犯一輛卡車違反交通規(guī)則,撞人后逃跑?,F(xiàn)場有三人目擊事件,但都沒有記住車號(hào),只記下車號(hào)的一些特征。甲說:牌照的前兩位數(shù)字是相同的;乙說:牌照的后兩位數(shù)字是相同的,但與前兩位不同; 丙是數(shù)學(xué)家,他說:四位的車號(hào)剛好是一個(gè)整數(shù)的平方。請(qǐng)根據(jù)以上線索求出車號(hào)。*問題分析與算法設(shè)計(jì)按照題目的要求造出一個(gè)前兩位數(shù)相同、后兩位數(shù)相同且相互間又不同的整數(shù),然后判斷該整數(shù)是否是另一個(gè)整數(shù)的平方。*程序說明與注釋#include#includeint main()int i,j,k,c;for(i=1;i=9;i+) /*i:車號(hào)前二位的取值*/for(j=0;j=9;j+) /*j:車號(hào)后二位的取
2、值*/if(i!=j) /*判斷二位數(shù)字是否相異*/k=i*1000+i*100+j*10+j; /*計(jì)算出可能的整數(shù)*/for(c=31;c*ck;c+); /*判斷該數(shù)是否為另一整數(shù)的平方*/if(c*c=k) printf(LorryNo. is %d.n,k); /*若是,打印結(jié)果*/*運(yùn)行結(jié)果Lorry _No.is 77442百錢百雞問題中國古代數(shù)學(xué)家張丘建在他的算經(jīng)中提出了著名的“百錢買百雞問題”:雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問翁、母、雛各幾何?*問題分析與算法設(shè)計(jì)設(shè)雞翁、雞母、雞雛的個(gè)數(shù)分別為x,y,z,題意給定共100錢要買百雞,若全買公雞最多
3、買20只,顯然x的值在020之間;同理,y的取值范圍在033之間,可得到下面的不定方程:5x+3y+z/3=100x+y+z=100所以此問題可歸結(jié)為求這個(gè)不定方程的整數(shù)解。由程序設(shè)計(jì)實(shí)現(xiàn)不定方程的求解與手工計(jì)算不同。在分析確定方程中未知數(shù)變化范圍的前提下,可通過對(duì)未知數(shù)可變范圍的窮舉,驗(yàn)證方程在什么情況下成立,從而得到相應(yīng)的解。*程序說明與注釋#includeint main()int x,y,z,j=0;printf(Folleing are possible plans to buy 100 fowls with 100 Yuan.n);for(x=0;x=20;x+) /*外層循環(huán)控制
4、雞翁數(shù)*/for(y=0;y=33;y+) /*內(nèi)層循環(huán)控制雞母數(shù)y在033變化*/z=100-x-y; /*內(nèi)外層循環(huán)控制下,雞雛數(shù)z的值受x,y的值的制約*/if(z%3=0&5*x+3*y+z/3=100)/*驗(yàn)證取z值的合理性及得到一組解的合理性*/printf(%2d:cock=%2d hen=%2d chicken=%2dn,+j,x,y,z);3三色球問題若一個(gè)口袋中放有12個(gè)球,其中有3個(gè)紅的。3個(gè)白的和6個(gè)黒的,問從中任取8個(gè)共有多少種不同的顏色搭配?*問題分析與算法設(shè)計(jì)設(shè)任取的紅球個(gè)數(shù)為i,白球個(gè)數(shù)為j,則黒球個(gè)數(shù)為8-i-j,根據(jù)題意紅球和白球個(gè)數(shù)的取值范圍是03,在紅球
5、和白球個(gè)數(shù)確定的條件下,黒球個(gè)數(shù)取值應(yīng)為8-i-j=6。*程序說明與注釋#includeint main()int i,j,count=0;printf( RED BALL WHITE BALL BLACKBALLn);printf(.n);for(i=0;i=3;i+) /*循環(huán)控制變量i控制任取紅球個(gè)數(shù)03*/for(j=0;j=3;j+) /*循環(huán)控制變量j控制任取白球個(gè)數(shù)03*/if(8-i-j)=6)printf( %2d: %d %d %dn,+count,i,j,8-i-j);4馬克思手稿中的數(shù)學(xué)題馬克思手稿中有一道趣味數(shù)學(xué)問題:有30個(gè)人,其中有男人、女人和小孩,在一家飯館吃飯
6、花了50先令;每個(gè)男人花3先令,每個(gè)女人花2先令,每個(gè)小孩花1先令;問男人、女人和小孩各有幾人?*問題分析與算法設(shè)計(jì)設(shè)x,y,z分別代表男人、女人和小孩。按題目的要求,可得到下面的方程:x+y+z=30 (1)3x+2y+z=50 (2)用方程程序求此不定方程的非負(fù)整數(shù)解,可先通過(2)-(1)式得:2x+y=20 (3)由(3)式可知,x變化范圍是010*程序說明與注釋#includeint main()int x,y,z,count=0;printf( Men Women Childrenn);printf(.n);for(x=0;x=10;x+)y=20-2*x; /*x定值據(jù)(3)式求
7、y*/z=30-x-y; /*由(1)式求z*/if(3*x+2*y+z=50) /*當(dāng)前得到的一組解是否滿足式(2)*/printf( %2d: %d %d %dn,+count,x,y,z);5新娘和新郞三對(duì)情侶參加婚禮,三個(gè)新郞為A、B、C,三個(gè)新娘為X、Y、Z。有人不知道誰和誰結(jié)婚,于是詢問了六位新人中的三位,但聽到的回答是這樣的:A說他將和X結(jié)婚;X說她的未婚夫是C;C說他將和Z結(jié)婚。這人聽后知道他們?cè)陂_玩笑,全是假話。請(qǐng)編程找出誰將和誰結(jié)婚。*問題分析與算法設(shè)計(jì)將A、B、C三人用1,2,3表示,將X和A結(jié)婚表示為“X=1”,將Y不與A結(jié)婚表示為“Y!=1”。按照題目中的敘述可以寫出
8、表達(dá)式:x!=1 A不與X結(jié)婚x!=3 X的未婚夫不是Cz!=3 C不與Z結(jié)婚題意還隱含著X、Y、Z三個(gè)新娘不能結(jié)為配偶,則有:x!=y且x!=z且y!=z窮舉以上所有可能的情況,代入上述表達(dá)式中進(jìn)行推理運(yùn)算,若假設(shè)的情況使上述表達(dá)式的結(jié)果均為真,則假設(shè)情況就是正確的結(jié)果。*程序說明與注釋#includeint main()int x,y,z;for(x=1;x=3;x+) /*窮舉x的全部可能配偶*/for(y=1;y=3;y+) /*窮舉y的全部可能配偶*/for(z=1;z1 A和B兩人中至少去一人;a+d!=2 A和D不能一起去;a+e+f=2 A、E、F三人中要派兩人去;b+c=0或
9、b+c=2 B和C都去或都不去;c+d=1 C和D兩人中去一個(gè);d+e=0或d=1 若D不去,則E也不去(都不去;或D去E隨便)。上述各表達(dá)式之間的關(guān)系為“與”關(guān)系。窮舉每個(gè)人去或不去的各種可能情況,代入上述表達(dá)式中進(jìn)行推理運(yùn)算,使上述表達(dá)式均為“真”的情況就是正確的結(jié)果。*程序說明與注釋#includeint main()int a,b,c,d,e,f;for(a=1;a=0;a-) /*窮舉每個(gè)人是否去的所有情況*/for(b=1;b=0;b-) /*1:去 0:不去*/for(c=1;c=0;c-)for(d=1;d=0;d-)for(e=1;e=0;e-)for(f=1;f=0;f-)
10、if(a+b=1&a+d!=2&a+e+f=2&(b+c=0|b+c=2)&c+d=1&(d+e=0|d=1)printf(A will%s be assigned. n,a?:not);printf(B will%s be assigned. n,b?:not);printf(C will%s be assigned. n,c?:not);printf(D will%s be assigned. n,d?:not);printf(E will%s be assigned. n,e?:not);printf(F will%s be assigned. n,f?:not);*運(yùn)行結(jié)果A will
11、 be assigned. (去)B will be assigned. (去)C will be assigned. (去)D will not be assigned. (不去)E will not be assigned. (不去)F will be assigned. (去)750.誰在說謊張三說李四在說謊,李四說王五在說謊,王五說張三和李四都在說謊。現(xiàn)在問:這三人中到底誰說的是真話,誰說的是假話?*問題分析與算法設(shè)計(jì)分析題目,每個(gè)人都有可能說的是真話,也有可能說的是假話,這樣就需要對(duì)每個(gè)人所說的話進(jìn)行分別判斷。假設(shè)三個(gè)人所說的話的真假用變量A、B、C表示,等于1表示該人說的是真話;
12、表示這個(gè)人說的是假話。由題目可以得到:*張三說李四在說謊 張三說的是真話:a=1&b=0或 張三說的是假話:a=0&b=1*李四說王五在說謊 李四說的是真話:b=1&c=0或 李四說的是假話:b=0&c=1*王五說張三和李四都在說謊 王五說的是真話:c=1&a+b=0或 王五說的是假話:c=0&a+b!=0上述三個(gè)條件之間是“與”的關(guān)系。將表達(dá)式進(jìn)行整理就可得到C語言的表達(dá)式:(a&!b|!a&b)&(b&!c|!b&c)&(c&a+b=0|!c&a+b!=0)窮舉每個(gè)人說真話或說假話的各種可能情況,代入上述表達(dá)式中進(jìn)行推理運(yùn)算,使上述表達(dá)式均為“真”的情況就是正確的結(jié)果。*程序說明與注釋#i
13、ncludeint main()int a,b,c;for(a=0;a=1;a+)for(b=0;b=1;b+)for(c=0;c=1;c+)if(a&!b|!a&b)&(b&!c|!b&c)&(c&a+b=0|!c&a+b!=0)printf(Zhangsan told a %s.n,a?truth:lie);printf(Lisi told a %s.n,b?truch:lie);printf(Wangwu told a %s.n,c?truch:lie);*運(yùn)行結(jié)果Zhangsan told a lie (張三說假話)Lisi told a truch. (李四說真話)Wangwu to
14、ld a lie. (王五說假話)8黑與白有A、B、C、D、E五人,每人額頭上都帖了一張黑或白的紙。五人對(duì)坐,每人都可以看到其它人額頭上的紙的顏色。五人相互觀察后,A說:“我看見有三人額頭上帖的是白紙,一人額頭上帖的是黑紙。”B說:“我看見其它四人額頭上帖的都是黑紙?!盋說:“我看見一人額頭上帖的是白紙,其它三人額頭上帖的是黑紙?!盌說:“我看見四人額頭上帖的都是白紙?!盓什么也沒說。現(xiàn)在已知額頭上帖黑紙的人說的都是謊話,額頭帖白紙的人說的都是實(shí)話。問這五人誰的額頭是帖白紙,誰的額頭是帖黑紙?*問題分析與算法設(shè)計(jì)假如變量A、B、C、D、E表示每個(gè)人額頭上所帖紙的顏色,0 代表是黑色,1 代表是
15、白色。根據(jù)題目中A、B、C、D四人所說的話可以總結(jié)出下列關(guān)系:A說: a&b+c+d+e=3|!a&b+c+d+e!=3B說: b&a+c+d+e=0|!b&a+c+d+e!=0C說: c&a+b+d+e=1|!c&a+b+d+e!=1D說: d&a+b+c+e=4|!d&a+b+c+e!=4窮舉每個(gè)人額頭所帖紙的顏色的所有可能的情況,代入上述表達(dá)式中進(jìn)行推理運(yùn)算,使上述表達(dá)式為“真”的情況就是正確的結(jié)果。*程序說明與注釋#includeint main()int a,b,c,d,e;for(a=0;a=1;a+) /*黑色:0 白色:1*/for(b=0;b=1;b+) /*窮舉五個(gè)人額頭帖
16、紙的全部可能*/for(c=0;c=1;c+)for(d=0;d=1;d+)for(e=0;e=1;e+)if(a&b+c+d+e=3|!a&b+c+d+e!=3)&(b&a+c+d+e=0|!b&a+c+d+e!=0)&(c&a+b+d+e=1|!c&a+b+d+e!=1)&(d&a+b+c+e=4|!d&a+b+c+e!=4)printf(A is pasted a piece of %s paper on his forehead.n,a?white:black);printf(B is pasted a piece of %s paper on his forehead.n,b?whi
17、te:black);printf(C is pasted a piece of %s paper on his forehead.n,c?white:black);printf(D is pasted a piece of %s paper on his forehead.n,d?white:black);printf(E is pasted a piece of %s paper on his forehead.n,e?white:black);*運(yùn)行結(jié)果A is pasted a paper of black paper on his forehead. (黑)B is pasted a
18、paper of black paper on his forehead. (黑)C is pasted a paper of white paper on his forehead. (白)D is pasted a paper of black paper on his forehead. (黑)E is pasted a paper of white paper on his forehead. (白)9誠實(shí)族和說謊族是來自兩個(gè)荒島的不同民族,誠實(shí)族的人永遠(yuǎn)說真話,而說謊族的人永遠(yuǎn)說假話。迷語博士是個(gè)聰明的人,他要來判斷所遇到的人是來自哪個(gè)民族的。迷語博士遇到三個(gè)人,知道他們可能是來自誠
19、實(shí)族或說謊族的。為了調(diào)查這三個(gè)人是什么族的,博士分別問了他們的問題,這是他們的對(duì)話:問第一個(gè)人:“你們是什么族?”,答:“我們之中有兩個(gè)來自誠實(shí)族。”第二個(gè)人說:“不要胡說,我們?nèi)齻€(gè)人中只有一個(gè)是誠實(shí)族的?!钡谌齻€(gè)人聽了第二個(gè)人的話后說:“對(duì),就是只有一個(gè)誠實(shí)族的?!闭?qǐng)根據(jù)他的回答判斷他們分別是哪個(gè)族的。*問題分析與算法設(shè)計(jì)假設(shè)這三個(gè)人分別為A、B、C,若說謊其值為0,若誠實(shí),其值為1。根據(jù)題目中三個(gè)人的話可分別列出:第一個(gè)人: a&a+b+c=2|!a&a+b+c!=2第二個(gè)人: b&a+b+c=1|!b&a+b+c!=1第三個(gè)人: c&a+b+c=1|!c&a+b+c!=1利用窮舉法,可以
20、很容易地推出結(jié)果。*程序說明與注釋#includeint main()int a,b,c;for(a=0;a=1;a+) /*窮舉每個(gè)人是說謊還是誠實(shí)的全部情況*/for(b=0;b=1;b+) /*說謊:0 誠實(shí):1*/for(c=0;c=1;c+)if(a&a+b+c=2|!a&a+b+c!=2) /*判斷是否滿足題意*/&(b&a+b+c=1|!b&a+b+c!=1)&(c&a+b+c=1|!c&a+b+c!=1)printf(A is a %s.n,a?honest:lier); /*輸出判斷結(jié)果*/printf(B is a %s.n,b?honest:lier);printf(C
21、is a %s.n,c?honest:lier);*運(yùn)行結(jié)果A is a lier (說謊族)B is a lier (說謊族)C is a lier (說謊族)10 角谷猜想日本一位中學(xué)生發(fā)現(xiàn)一個(gè)奇妙的“定理”,請(qǐng)角谷教授證明,而教授無能為力,于是產(chǎn)生角谷猜想。猜想的內(nèi)容是:任給一個(gè)自然數(shù),若為偶數(shù)除以2,若為奇數(shù)則乘3加1,得到一個(gè)新的自然數(shù)后按照上面的法則繼續(xù)演算,若干次后得到的結(jié)果必然為1。請(qǐng)編程驗(yàn)證。*問題分析與算法設(shè)計(jì)本題是一個(gè)沿未獲得一般證明的猜想,但屢試不爽,可以用程序驗(yàn)證。題目中給出的處理過程很清楚,算法不需特殊設(shè)計(jì),可按照題目的敘述直接進(jìn)行證。*程序說明與注釋#includeint main()int n,count=0;printf(Please enter number:);scanf(%d,&n); /*輸入任一整數(shù)*/doif(n%2)n=n*3+1; /*若為奇數(shù),n乘3加1*/printf(%d:%d*3+1=%dn,+count,(n-1)/3,n);elsen/=2; /*若為偶數(shù)n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)管合力提升醫(yī)院綜合能力的評(píng)估方法
- 建設(shè)老年友好型社會(huì)預(yù)算與資源保障
- 沙柳活性炭超級(jí)電容器電極材料的制備及性能研究
- 行政限制從業(yè)制度研究
- 2025年永嘉國企面試試題及答案
- 2024至2030年中國鋁鍶合金行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024至2030年中國調(diào)味品生產(chǎn)線行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024至2030年中國自粘式吸盤行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024至2030年中國空調(diào)掛鉤行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024至2030年中國法半夏枇杷膏行業(yè)投資前景及策略咨詢研究報(bào)告
- 2023年員工手冊(cè)范本(適用于公司全體員工手冊(cè))
- 2024版北京市家庭居室裝飾裝修工程施工合同
- 不間斷電源UPS知識(shí)培訓(xùn)
- 主題活動(dòng)一 奇妙的繩結(jié)(教學(xué)設(shè)計(jì))內(nèi)蒙古版六年級(jí)上冊(cè)綜合實(shí)踐活動(dòng)
- GB/T 23576-2024拋噴丸設(shè)備通用技術(shù)規(guī)范
- 機(jī)動(dòng)車檢測站質(zhì)量手冊(cè)(根據(jù)補(bǔ)充技術(shù)要求修訂)
- SH/T 3533-2024 石油化工給水排水管道工程施工及驗(yàn)收規(guī)范(正式版)
- 大隱靜脈射頻消融手術(shù)
- 2023版《思想道德與法治》(緒論-第一章)緒論 擔(dān)當(dāng)復(fù)興大任 成就時(shí)代新人;第一章 領(lǐng)悟人生真諦 把握人生方向 第3講 創(chuàng)造有意義的人生
- 督查工作總結(jié)督查報(bào)告
- HGT 20714-2023 管道及儀表流程圖(P ID)安全審查規(guī)范 (正式版)
評(píng)論
0/150
提交評(píng)論