山師附中課件mutong在yj41上第5講綜合練習(xí)_第1頁(yè)
山師附中課件mutong在yj41上第5講綜合練習(xí)_第2頁(yè)
山師附中課件mutong在yj41上第5講綜合練習(xí)_第3頁(yè)
山師附中課件mutong在yj41上第5講綜合練習(xí)_第4頁(yè)
山師附中課件mutong在yj41上第5講綜合練習(xí)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第六講、 綜合練習(xí)1、陶陶摘蘋果(NOIP2006p)(apple.pas/c/cpp)【問(wèn)題描述】 陶陶家的院子里有一棵蘋果樹(shù),每到秋天樹(shù)上就會(huì)結(jié)出10個(gè)蘋果。蘋果成熟的時(shí)候,陶陶就會(huì)跑去摘蘋果。陶陶有個(gè)30厘米高的板凳,當(dāng)她不能直接用手摘到蘋果的時(shí)候,就會(huì)踩到板凳上再試試。 現(xiàn)在已知10個(gè)蘋果到地面的高度,以及陶陶把手伸直的時(shí)候能夠達(dá)到的最大高度,請(qǐng)幫陶陶算一下她能夠摘到的蘋果的數(shù)目。假設(shè)她碰到蘋果,蘋果就會(huì)掉下來(lái)?!据斎搿康?行只包括一個(gè)100到120之間(包含100和120)的整數(shù)(以厘米為單位),表示陶陶把手伸直的時(shí)候能夠達(dá)到的最大高度。第2行包含10個(gè)100到200之間(包括100

2、和200)的整數(shù)(以厘米為單位)分別表示10個(gè)蘋果到地面的高度,兩個(gè)相鄰的整數(shù)之間用一個(gè)空格隔開(kāi)?!据敵觥枯敵霭ㄒ恍?,這一行只包含一個(gè)整數(shù),表示陶陶能夠摘到的蘋果的數(shù)目。【樣例輸入】110100 200 150 140 129 134 167 198 200 111【樣例輸出】5var h,x,sum,i:integer;begin sum:=0; readln(h); h:=h+30; for i:=1 to 10 do begin read(x); if x=h then sum:=sum+1; end; writeln(sum);end.2、燈的開(kāi)關(guān)狀態(tài) 有N個(gè)燈放成一排,從1到N依次

3、順序編號(hào),開(kāi)始時(shí)全部打開(kāi)。有N個(gè)人也從1到N依次編號(hào)。1號(hào)人將燈全部關(guān)閉,2號(hào)人將凡是編號(hào)為2的倍數(shù)的燈打開(kāi);3號(hào)人將凡是編號(hào)為3的倍數(shù)的燈作相反處理(該燈如為打開(kāi)的, 則將它關(guān)閉;如關(guān)閉的,則將它打開(kāi))。以后的人都和3號(hào)人一樣,將凡是自己編號(hào)倍數(shù)的燈作相反處理。編程實(shí)現(xiàn):第N個(gè)人操作后,按順序輸出燈的狀態(tài)。(1-表示燈打開(kāi),0-表示燈關(guān)閉)輸入:n(n=100),燈的個(gè)數(shù),輸出:燈的狀態(tài),01序列,中間無(wú)空格。樣例:輸入:2輸出:01 N=20,開(kāi)始狀態(tài)全為1編號(hào)1234567891011121314151617181920狀態(tài)01101111011111101111var n,m,i:in

4、teger;begin readln(n); for i:=1 to n do begin m:=trunc(sqrt(i); if m*m=i then write(0) else write(1); end;end.編號(hào)i的燈的操作次數(shù)等于因數(shù)個(gè)數(shù),只有完全平方數(shù)的因數(shù)個(gè)數(shù)為奇數(shù).所以判斷第i個(gè)燈的狀態(tài):如果i是完全平方數(shù)則狀態(tài)為0,否則為1.算法分析:結(jié)論:編號(hào)為i的燈經(jīng)過(guò)偶數(shù)次操作為1,奇數(shù)次操作為0.3、Fibonacci數(shù)列數(shù)列的前兩項(xiàng)分別是0、1,從第三項(xiàng)開(kāi)始,每個(gè)數(shù)均為前面兩項(xiàng)的和,即:0,1,1,2,3,5,8,。輸入n輸出數(shù)列的第n項(xiàng)值,n0.0001 do begin f

5、1:=sin(a)-a/10; f2:=sin(b)-b/10; f:=sin(a+b)/2)-(a+b)/2/10; if f1*f=0 then a:=(a+b)/2; if f2*f=0 then b:=(a+b)/2; end; writeln(a:0:3);end.6、 輸入一個(gè)正整數(shù)N(0 then writeln(i, ,s); end;end.7、已知:N!= 1*2*.*n。輸入n(10000),求n!后面連續(xù)0的個(gè)數(shù)。樣例輸入: 15樣例輸出: 3 (說(shuō)明: 15!=1307674368000)var n,i,s,t:integer;begin readln(n); s:=

6、0; for i:=1 to n do begin t:=i; while t mod 5=0 do begin s:=s+1; t:=t div 5; end; end; writeln(s);end.算法一var n,s:integer;begin readln(n); s:=0; while n0 do begin s:=s+n div 5; n:=n div 5; end; writeln(s);end.算法二8、編程驗(yàn)證歌德巴赫猜想:“對(duì)于任意一個(gè)偶數(shù)n(=4),都可以表示成兩個(gè)素?cái)?shù)的和”。4=2+26=3+38=3+598=17+79輸入: 偶數(shù)n輸出:和為n的兩個(gè)素?cái)?shù)。如果n是奇

7、數(shù),輸出-1.如輸入:22輸出:22=3+1922=5+1722=11+11var n,i,j,p,q,yesp,yesq:longint;begin readln(n); if n mod 20 then begin writeln(-1); halt; end; for i:=2 to n div 2 do begin p:=i; yesp:=1; for j:=2 to p-1 do if p mod j=0 then begin yesp:=0; break; end; if yesp=1 then begin q:=n-i; yesq:=1; for j:=2 to q-1 do i

8、f q mod j=0 then begin yesq:=0; break; end; end; if (yesp=1)and(yesq=1) then writeln(n,=,p,+,q); end;end.8、津津的儲(chǔ)蓄計(jì)劃(NOIP2004T)(save.pas/dpr/c/cpp)【問(wèn)題描述】 津津的零花錢一直都是自己管理。每個(gè)月的月初媽媽給津津300元錢,津津會(huì)預(yù)算這個(gè)月的花銷,并且總能做到實(shí)際花銷和預(yù)算的相同。 為了讓津津?qū)W習(xí)如何儲(chǔ)蓄,媽媽提出,津津可以隨時(shí)把整百的錢存在她那里,到了年末她會(huì)加上20%還給津津。因此津津制定了一個(gè)儲(chǔ)蓄計(jì)劃:每個(gè)月的月初,在得到媽媽給的零花錢后,如果她

9、預(yù)計(jì)到這個(gè)月的月末手中還會(huì)有多于100元或恰好100元,她就會(huì)把整百的錢存在媽媽那里,剩余的錢留在自己手中。 例如11月初津津手中還有83元,媽媽給了津津300元。津津預(yù)計(jì)11月的花銷是180元,那么她就會(huì)在媽媽那里存200元,自己留下183元。到了11月月末,津津手中會(huì)剩下3元錢。 津津發(fā)現(xiàn)這個(gè)儲(chǔ)蓄計(jì)劃的主要風(fēng)險(xiǎn)是,存在媽媽那里的錢在年末之前不能取出。有可能在某個(gè)月的月初,津津手中的錢加上這個(gè)月媽媽給的前,不夠這個(gè)月的原定預(yù)算。如果出現(xiàn)這種情況,津津不得不在這個(gè)月省吃儉用,壓縮預(yù)算。 現(xiàn)在請(qǐng)你根據(jù)2004年1月到12月每個(gè)月津津的預(yù)算,判斷會(huì)不會(huì)出現(xiàn)這種情況。如果不會(huì),計(jì)算到2004年年末,

10、媽媽將津津平常存的錢加上20%還給津津之后,津津手中會(huì)有多少錢?!据斎胛募枯斎氚?2行數(shù)據(jù),每行包含一個(gè)小于350的非負(fù)整數(shù),分別表示1月到12月津津的預(yù)算?!据敵鑫募枯敵鲆恍?,這一行只包含一個(gè)整數(shù)。如果儲(chǔ)蓄計(jì)劃實(shí)施過(guò)程中出現(xiàn)某個(gè)月錢不夠用的情況,輸出-X,X 表示出現(xiàn)這種情況的第一個(gè)月;否則輸出到2004年年末津津手中會(huì)有多少錢。 【樣例輸入 1】29023028020030017034050908020060【樣例輸出 1】-7【樣例輸入 2】29023028020030017033050908020060【樣例輸出 2】1580Const m=300;Var save,left,x

11、,i:integer;begin left:=0; save:=0; for i:=1 to 12 do begin read(x); if xm+left then begin writeln(-i); exit; end; if m+left-x=100 then begin save:=save+100*(m+left-x) div 100); left:=(m+left-x) mod 100; end else left:=m+left-x; end; writeln(1.2*save+left:0:2);end.If then 語(yǔ)句1 Else 語(yǔ)句2For i:=a to b do

12、 While 條件 do 習(xí)題訓(xùn)練:1、 輸入一個(gè)三位數(shù)的整數(shù),將數(shù)字位置重新排列,組成一個(gè)盡可能大的三位數(shù)?!緲永斎搿?15【樣例輸出】521var n,a,b,c:longint;begin readln(n); a:=n div 100; b:=(n div 10)mod 10; c:=n mod 10; if (a=b)and(b=c) then writeln(a*100+b*10+c); if (a=c)and(c=b) then writeln(a*100+c*10+b); if (b=a)and(a=c) then writeln(b*100+a*10+c); if (b=c

13、)and(c=a) then writeln(b*100+c*10+a); if (c=b)and(b=a) then writeln(c*100+b*10+a); if (c=a)and(a=b) then writeln(c*100+a*10+b);end.2、 輸入若干個(gè)字符,它的終止符是,計(jì)算輸入的字符中字母A或a出現(xiàn)的次數(shù)(包含大小寫)。如:輸入:sdaa2323AAfa 輸出:5 var ch:char; s:integer; begin s:=0; read(ch); while ch do begin if (ch=a)or(ch=A) then s:=s+1; read(ch); end; writeln(s); end.

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論