資源描述:
《java學習基礎練習提高題及其答案解析》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、+【程序1】題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?剛開始真的無從下手,這么難的,怎么可以說是基礎呢,感覺這些應該是邏輯分析很強的,第一個月只有一對兔子,第二個月還是只有一對兔子,第三個月,就有兩對了,第四個月3對,第五個月5對,第六個月8對,第七個月是13對。。。。。。規(guī)律出來了,你們發(fā)了沒?[java]?viewplain?copy1.public?class?Example1{??2.????public?static?void?main(String?args[]){?
2、??3.????//i是表示月份的,這里計算了36個月,也就是三年,兔子的數量??4.??????int?i;??5.??????long?arr[]=new?long[36];???//這個數組時用來計算每月有兔子的對數??6.??????arr[0]=arr[1]=1;??7.??????System.out.println("第1個月有兔子1對"+",?"+"總數是"+2);??8.??????System.out.println("第2個月有兔子1對"+",?"+"總數是"+2);??9.??????for(i=2;i<=35;i++){??10.?????????arr[i]
3、=arr[i-1]+arr[i-2];??11.?????????System.out.println("第"+i+"個月有兔子"+arr[i]+"對"+",?"+"總數是"+2*arr[i]);??12.?????????????//規(guī)律是?每個數字都是前面兩個數字之和??13.?????????}??14.???}??15.??????????16.}??+OK,用時45分鐘。【程序2】?題目:判斷101-200之間有多少個素數,并輸出所有素數。?素數又叫質數,就是除了1和它本身之外,再也沒有整數能被它整除的數。也就是素數只有兩個因子。[java]?viewplain?copy1
4、.public?class?Example2?{??2.public?static?void?main(String?args[]){??3.????int?i,j,n,m,x;??????//n是用來存儲余數的;m是用來統計具體一個數的因子;??4.????n=0;m=0;x=0;????????//x是用來統計101~200之前素數的個數??5.????for(i=101;i<=200;i++){?????????????//兩重循環(huán)??6.????????for(j=1;j<=i;j++){?????????7.????????????n=i%j;????????????????
5、????//去余數,如果余數為零,就是該數的因子??8.????????????if(n==0)??{?m=m+1;?}??????//統計某數有多少個因子??9.????????????}???10.?????if(m==2){System.out.print(i+"?");?x=x+1;}?//如果某數的因子只有兩個,那它就一定是素數,那這個數就應該輸出??11.??????????m=0;????????????//一定要清零,不然會繼續(xù)累加??12.????????}??13.???????System.out.println();??14.???????System.out.
6、println("在101~200之間一共有素數:"+x+"個");??15.????????}??16.???}??我好笨啊,這題我做了兩個鐘頭,最終還是解決了。加油【程序3】+題目:打印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。想當年,做這些題都是網上找答案,如今事過境遷,不會也得會。[java]?viewplain?copy1.public?class?Example3?{??2.????public?static?void?main(String?args
7、[]){???3.???????int?a,sum;?????//表示100~999??4.???????int?i,j,k;//分別表示百位、十位、各位??5.???????for(a=100;a<=999;a++){??6.???????????i=a/100;??7.???????????j=(a-i*100)/10;??8.???????????k=a-i*100-j*10;??9.???????????sum=i*i*i+j*j*j+