![C++第6課多重循環(huán)_第1頁](http://file4.renrendoc.com/view14/M02/30/1C/wKhkGWbjfJ-AN-tyAAIG5q58zKA703.jpg)
![C++第6課多重循環(huán)_第2頁](http://file4.renrendoc.com/view14/M02/30/1C/wKhkGWbjfJ-AN-tyAAIG5q58zKA7032.jpg)
![C++第6課多重循環(huán)_第3頁](http://file4.renrendoc.com/view14/M02/30/1C/wKhkGWbjfJ-AN-tyAAIG5q58zKA7033.jpg)
![C++第6課多重循環(huán)_第4頁](http://file4.renrendoc.com/view14/M02/30/1C/wKhkGWbjfJ-AN-tyAAIG5q58zKA7034.jpg)
![C++第6課多重循環(huán)_第5頁](http://file4.renrendoc.com/view14/M02/30/1C/wKhkGWbjfJ-AN-tyAAIG5q58zKA7035.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
多重循環(huán)第6課1例1:求三位數(shù)中的水仙花數(shù)。(若abc是水仙花數(shù),則有abc=a3+b3+c3)例如:153=13+53+33分析:采用窮舉法,從100-999中搜索,將每個數(shù)的三個數(shù)字分解出來,再計算立方和,最后與原數(shù)比較,如果相等,則是符合條件的三位數(shù).
for(m=100;m<=999;m++){a=m/100;b=m%100/10;c=m%10;if(a*a*a+b*b*b+c*c*c==m)cout<<m;}2水仙花數(shù),也可以采用另外一種方法:對三位數(shù)的三個數(shù)字進行窮舉.百位數(shù)字:1—9十位數(shù)字:0---9個位數(shù)字:0---9for(a=1;a<=9;a++)for(b)for(c)if(a*a*a+b*b*b+c*c*c==a*100+b*10+c)cout<<a<<b<<c;這是一個三重循環(huán),外層循環(huán)做一次,內(nèi)層循環(huán)必須全部做完,具體如下:c=0(100)c=1(101)b=0……b=1c=9(109)b=2a=1b=3……b=9a=23例2:用5元錢買100只紐扣,其中金屬紐扣每只5角,有機玻璃紐扣每只1角,小鈕扣1分錢3個,編程求出種紐扣各買了多少只?方法一:for(x=1;x<=100;x++)for(y=1;y<=100;y++)for(z=1;z<=100;z++)if(x+y+z==100&&50*x+10*y+z/3.0==500)cout<<x<<y<<z;運算次數(shù):100*100*100=100萬方法二:for(x=1;x<=10;x++)for(y=1;y<=50;y++){z=100-x-y;if(50*x+10*y+z/3.0==500)cout<<x<<y<<z;}運算次數(shù):10*50=5004例3:判斷素數(shù):素數(shù)又叫質(zhì)數(shù),是指除了1與本身以外沒有另外約數(shù)的數(shù),其中1既不是素數(shù)不是合數(shù),2是自然數(shù)中最小的質(zhì)數(shù)。程序要求,輸入一個數(shù)n,判斷n是不是質(zhì)數(shù),如果是輸出”yes”,如果不是,輸出“no”。
cin>>n;k=0;if(n==1)cout<“no”;else{for(i=2;i<=n-1;i++)if(n%i==0)k=1;if(k==0)cout<<“yes”;elsecout<<“no”;}K是標記范圍可優(yōu)化至int(sqrt(n))找到一個約數(shù),可以中斷當(dāng)前循環(huán)根據(jù)標記的值,從而進行判斷請你根據(jù)優(yōu)化后的方案改寫出程序5P1119:求1—N中的素數(shù)的個數(shù).(1<=N<=10000)思路:s=0;cin>>n;
for(i=2;i<=n;i++){
判斷i是不是素數(shù),如果是s=s+1;}
cout<<s<<endl;6P1118、求1—N中的完全數(shù),所謂完全數(shù)是指因子和正好等于本身的數(shù)。如28=1+2+4+7+14,故28就是一個完全數(shù)。告訴你的是此范圍內(nèi)的完全數(shù)不可能是完全平方數(shù)。輸入:N輸出:1-N中的完全數(shù),一行一個數(shù)。數(shù)據(jù)范圍:1<=N<=10000思路:
for(i=1;i<=n;i++){求i的因子和,用S存放;
if(s==i)cout<<i<<endl;}S=0;for(j=1;j<=i/2;j++)if(i%j==0)s=s+j;上述做法的運算次數(shù)是:N*N稱為時間復(fù)雜度1秒的運算次數(shù)=2^25==3.3*10^7(8位數(shù))二重循環(huán)10000*10000,所以上面的的算法只能到100007[例3]編寫程序,在屏幕上顯示下列圖形的n行,每行的個數(shù)是m,m、n均由鍵盤輸入(m<20,n<30),如:n=4,m=6時輸出如下的圖形,第一行前面沒有空格。************************分析:若不考慮圖形的錯位關(guān)系,而直接打印一個矩形的圖形,為n行,每行M個,那么n行可用計數(shù)循環(huán)實現(xiàn)(大循環(huán)),每行的個數(shù)也可以用計數(shù)循環(huán)實現(xiàn)(小循環(huán)):
cin>>n>>m;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++)
cout<<“*”;
cout<<endl;{每行結(jié)束時換行};}k=0;用來控制空格的個數(shù)for(j=1;j<=k;j++)
cout<<““;//輸出K個空格K=k+1;8[例4]輸出如下的n行(n<20)圖形,n由鍵盤輸入。如:n=6時,輸出如下的圖形,第一行前沒有空格###########{11個}#########{9個}#######{7個}#####{5個}###{3個}#{1個}分析:用二重循環(huán)解決:大循環(huán)控制行數(shù),小循環(huán)控制每行的個數(shù).第i行與個數(shù)的關(guān)系式:個數(shù)=2*i-16行5行4行3行2行1行11=6*2-19=5*2-17=4*2-1……1=1*2-1cin>>n;for(i=n;i>=1;i--){
for(j=1;j<=2*i-1;j++)
cout<<“#”;
cout<<endl;}{怎樣控制位置}9P1123:
112112321123432112345432112345654321123456765432112345678765432112345678987654321cin>>n;for(i=1;i<=n;i++){控制空格的個數(shù);
前一半;
后一半;
cout<<endl;}分析:采用二重循環(huán),大循環(huán)產(chǎn)生N行,小循環(huán)產(chǎn)生每一行.for(j=1;j<=I;j++)cout<<j;for(j=i-1;j>=1;j--)cout<<j;10P1121:N=3時,輸出如下的圖形:edcba
cbaa分析:i從大到小,第i行的個數(shù)是2*i-1,第1行字母從ea對應(yīng)的數(shù)字從5-->1,用ASCII碼來轉(zhuǎn)換,5+961+96For(j=5;j>=1;j--){chark=96+j;
cout>>k;}定義一個字符型變量K,K取一個整數(shù)值,輸出K的值的時候就會輸出ASCII碼對應(yīng)的字符。54321321111P1122135791357分析:第i行的個數(shù)是2*i-1,輸出的數(shù)字從1開始,每次加2,如果超過9,則返回1.
cin>>n;x=1;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 警車玻璃系列項目融資渠道探索
- 2025年度廢舊鋼材回收處理與環(huán)保治理合作協(xié)議3篇
- 二零二五年度智能會議室租賃及虛擬現(xiàn)實體驗合同3篇
- 民宅裝修協(xié)議書
- 河北省普通高校就業(yè)協(xié)議書(2篇)
- 法律教學(xué)實踐基地協(xié)議書
- 2025年度淘寶電商平臺營銷推廣服務(wù)合同
- 二零二五煤炭運輸合同:物流金融服務(wù)協(xié)議
- 2024-2025學(xué)年八年級生物下冊 第八單元 第一章 第二節(jié) 選擇健康的生活方說課稿 (新版)新人教版
- 2025年度電力設(shè)施維護駕駛員聘用合同
- 快遞代收點合作協(xié)議
- 食堂項目組織架構(gòu)圖
- 食材配送公司機構(gòu)設(shè)置及崗位職責(zé)
- 2023年版一級建造師-水利工程實務(wù)電子教材
- 房地產(chǎn)工程管理 -中建八局機電工程質(zhì)量通病治理辦法
- GB/T 6403.4-2008零件倒圓與倒角
- GB/T 2518-2019連續(xù)熱鍍鋅和鋅合金鍍層鋼板及鋼帶
- 企業(yè)合規(guī)管理-課件
- 火電廠安全工作規(guī)程
- GB∕T 33047.1-2016 塑料 聚合物熱重法(TG) 第1部分:通則
- 特發(fā)性肺纖維化IPF
評論
0/150
提交評論