資源描述:
《java經(jīng)典算法40(初學必做基礎)》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、實用標準文案java經(jīng)典算法40題(21-40)【程序21】題目:求1+2!+3!+...+20!的和1.程序分析:此程序只是把累加變成了累乘。publicclassEx21{staticlongsum=0;staticlongfac=0;publicstaticvoidmain(String[]args){longsum=0;longfac=1;for(inti=1;i<=10;i++){fac=fac*i;sum+=fac;}System.out.println(sum);}}【程序22】題目:利用遞歸方法求5!。1
2、.程序分析:遞歸公式:fn=fn_1*4!importjava.util.Scanner;publicclassEx22{publicstaticvoidmain(String[]args){Scanners=newScanner(System.in);intn=s.nextInt();精彩文檔實用標準文案Ex22tfr=newEx22();System.out.println(tfr.recursion(n));}publiclongrecursion(intn){longvalue=0;if(n==1
3、
4、n==0){
5、value=1;}elseif(n>1){value=n*recursion(n-1);}returnvalue;}}【程序23】題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數(shù),他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問第五個人多大?1.程序分析:利用遞歸的方法,遞歸分為回推和遞推兩個階段。要想知道第五個人歲數(shù),需知道第四人的歲數(shù),依次類推,推到第一人(10歲),再往回推。publicclassEx23{stat
6、icintgetAge(intn){if(n==1){return10;}精彩文檔實用標準文案return2+getAge(n-1);}publicstaticvoidmain(String[]args){System.out.println("第五個的年齡為:"+getAge(5));}}【程序24】題目:給一個不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。importjava.util.Scanner;publicclassEx24{publicstaticvoidmain(String[]ar
7、gs){Ex24tn=newEx24();Scanners=newScanner(System.in);longa=s.nextLong();if(a<0
8、
9、a>100000){System.out.println("ErrorInput,pleaserunthisprogramAgain");System.exit(0);}if(a>=0&&a<=9){System.out.println(a+"是一位數(shù)");System.out.println("按逆序輸出是"+''+a);}elseif(a>=10&&a<=9
10、9){System.out.println(a+"是二位數(shù)");System.out.println("按逆序輸出是");tn.converse(a);精彩文檔實用標準文案}elseif(a>=100&&a<=999){System.out.println(a+"是三位數(shù)");System.out.println("按逆序輸出是");tn.converse(a);}elseif(a>=1000&&a<=9999){System.out.println(a+"是四位數(shù)");System.out.println("按逆序輸出
11、是");tn.converse(a);}elseif(a>=10000&&a<=99999){System.out.println(a+"是五位數(shù)");System.out.println("按逆序輸出是");tn.converse(a);}}publicvoidconverse(longl){Strings=Long.toString(l);char[]ch=s.toCharArray();for(inti=ch.length-1;i>=0;i--){System.out.print(ch[i]);}}}【程序25】題
12、目:一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位相同,十位與千位相同。importjava.util.Scanner;精彩文檔實用標準文案publicclassEx25{staticint[]a=newint[5];staticint[]b=newint[5];publicstaticvoidma