




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
多重循環(huán)第6課1例1:求三位數(shù)中的水仙花數(shù)。(若abc是水仙花數(shù),則有abc=a3+b3+c3)例如:153=13+53+33分析:采用窮舉法,從100-999中搜索,將每個(gè)數(shù)的三個(gè)數(shù)字分解出來,再計(jì)算立方和,最后與原數(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ù),也可以采用另外一種方法:對(duì)三位數(shù)的三個(gè)數(shù)字進(jìn)行窮舉.百位數(shù)字:1—9十位數(shù)字:0---9個(gè)位數(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;這是一個(gè)三重循環(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角,有機(jī)玻璃紐扣每只1角,小鈕扣1分錢3個(gè),編程求出種紐扣各買了多少只?方法一: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;運(yùn)算次數(shù):100*100*100=100萬(wàn)方法二: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;}運(yùn)算次數(shù):10*50=5004例3:判斷素?cái)?shù):素?cái)?shù)又叫質(zhì)數(shù),是指除了1與本身以外沒有另外約數(shù)的數(shù),其中1既不是素?cái)?shù)不是合數(shù),2是自然數(shù)中最小的質(zhì)數(shù)。程序要求,輸入一個(gè)數(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是標(biāo)記范圍可優(yōu)化至int(sqrt(n))找到一個(gè)約數(shù),可以中斷當(dāng)前循環(huán)根據(jù)標(biāo)記的值,從而進(jìn)行判斷請(qǐng)你根據(jù)優(yōu)化后的方案改寫出程序5P1119:求1—N中的素?cái)?shù)的個(gè)數(shù).(1<=N<=10000)思路:s=0;cin>>n;
for(i=2;i<=n;i++){
判斷i是不是素?cái)?shù),如果是s=s+1;}
cout<<s<<endl;6P1118、求1—N中的完全數(shù),所謂完全數(shù)是指因子和正好等于本身的數(shù)。如28=1+2+4+7+14,故28就是一個(gè)完全數(shù)。告訴你的是此范圍內(nèi)的完全數(shù)不可能是完全平方數(shù)。輸入:N輸出:1-N中的完全數(shù),一行一個(gè)數(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;上述做法的運(yùn)算次數(shù)是:N*N稱為時(shí)間復(fù)雜度1秒的運(yùn)算次數(shù)=2^25==3.3*10^7(8位數(shù))二重循環(huán)10000*10000,所以上面的的算法只能到100007[例3]編寫程序,在屏幕上顯示下列圖形的n行,每行的個(gè)數(shù)是m,m、n均由鍵盤輸入(m<20,n<30),如:n=4,m=6時(shí)輸出如下的圖形,第一行前面沒有空格。************************分析:若不考慮圖形的錯(cuò)位關(guān)系,而直接打印一個(gè)矩形的圖形,為n行,每行M個(gè),那么n行可用計(jì)數(shù)循環(huán)實(shí)現(xiàn)(大循環(huán)),每行的個(gè)數(shù)也可以用計(jì)數(shù)循環(huán)實(shí)現(xiàn)(小循環(huán)):
cin>>n>>m;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++)
cout<<“*”;
cout<<endl;{每行結(jié)束時(shí)換行};}k=0;用來控制空格的個(gè)數(shù)for(j=1;j<=k;j++)
cout<<““;//輸出K個(gè)空格K=k+1;8[例4]輸出如下的n行(n<20)圖形,n由鍵盤輸入。如:n=6時(shí),輸出如下的圖形,第一行前沒有空格###########{11個(gè)}#########{9個(gè)}#######{7個(gè)}#####{5個(gè)}###{3個(gè)}#{1個(gè)}分析:用二重循環(huán)解決:大循環(huán)控制行數(shù),小循環(huán)控制每行的個(gè)數(shù).第i行與個(gè)數(shù)的關(guān)系式:個(gè)數(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++){控制空格的個(gè)數(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時(shí),輸出如下的圖形:edcba
cbaa分析:i從大到小,第i行的個(gè)數(shù)是2*i-1,第1行字母從ea對(duì)應(yīng)的數(shù)字從5-->1,用ASCII碼來轉(zhuǎn)換,5+961+96For(j=5;j>=1;j--){chark=96+j;
cout>>k;}定義一個(gè)字符型變量K,K取一個(gè)整數(shù)值,輸出K的值的時(shí)候就會(huì)輸出ASCII碼對(duì)應(yīng)的字符。54321321111P1122135791357分析:第i行的個(gè)數(shù)是2*i-1,輸出的數(shù)字從1開始,每次加2,如果超過9,則返回1.
cin>>n;x=1;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公寓裝修施工合同
- 五人合資經(jīng)營(yíng)合同樣本
- 股權(quán)轉(zhuǎn)讓及承銷合同
- 2024年泰山版小學(xué)信息技術(shù)二年級(jí)上冊(cè)《6 綜合實(shí)踐》教學(xué)設(shè)計(jì)
- 商業(yè)合同審核標(biāo)準(zhǔn)大全
- 中學(xué)2024年教育教學(xué)專項(xiàng)發(fā)展規(guī)劃執(zhí)行、完成情況
- 品牌推廣合同(三)
- 合同范文:專業(yè)虛擬主機(jī)托管
- Unit 1 Making friends Part A Let's talk(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 按月退費(fèi)合同范本
- 2024-2025學(xué)年山東省濰坊市高三上學(xué)期1月期末英語(yǔ)試題
- 2025-2030年中國(guó)青海省旅游行業(yè)市場(chǎng)現(xiàn)狀調(diào)查及發(fā)展趨向研判報(bào)告
- 人力資源部門2023年度招聘效果分析
- 八年級(jí)數(shù)學(xué)下冊(cè) 第1章 單元綜合測(cè)試卷(北師版 2025年春)
- 2025年春新外研版(三起)英語(yǔ)三年級(jí)下冊(cè)課件 Unit1第1課時(shí)Startup
- 2025年安徽碳鑫科技有限公司招聘筆試參考題庫(kù)含答案解析
- 2025廣東珠海高新區(qū)科技產(chǎn)業(yè)局招聘專員1人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 數(shù)學(xué)-福建省泉州市2024-2025學(xué)年高三上學(xué)期質(zhì)量監(jiān)測(cè)(二)試卷和答案(泉州二模)
- 員工行為守則及職業(yè)道德規(guī)范
- 3學(xué)會(huì)反思 第一課時(shí) (說課稿) -2023-2024學(xué)年道德與法治六年級(jí)下冊(cè)統(tǒng)編版
- 2024年國(guó)土個(gè)人工作總結(jié)樣本(3篇)
評(píng)論
0/150
提交評(píng)論