欢迎来到天天文库
浏览记录
ID:14912488
大小:49.00 KB
页数:20页
时间:2018-07-30
《java经典问题算法大全》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java经典问题算法大全Java经典问题算法大全博客分类:Java算法JavaJ#C#C++./*【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....*/packagecn.com.flywater.FiftyAlgorthm;publicclassFirstRabbit{publicstaticfinalintMONTH=15;publicstaticvoidmain(String[]args){longf1=
2、1L,f2=1L;longf;for(inti=3;i3、staticintcount=0;publicstaticvoidmain(String[]args){for(inti=101;i<200;i++){booleanb=true;//默认此数就素数for(intj=2;j<=Math.sqrt(i);j++){if(i%j==0){b=false;//此数不是素数break;}}if(b){count++;System.out.print(i+"");}}System.out.println("素数的个数:"+count);}}/*【程序3】作者若水飞天题目:打印出所有的"水仙花数(narcissusnumber)",所谓"水仙花数4、"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。*/packagecn.com.flywater.FiftyAlgorthm;publicclassThirdNarcissusNum{staticintb,bb,bbb;publicstaticvoidmain(String[]args){for(intnum=101;num<1000;num++){ThirdNarcissusNumtnn=newThirdNarcissusNu5、m();tnn.f(num);}}publicvoidf(intm){bbb=m/100;bb=(m%100)/10;b=(m%100)%10;if((bbb*bbb*bbb+bb*bb*bb+b*b*b)==m){System.out.println(m);}}}/*【程序4】作者若水飞天题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正6、整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。*/packagecn.com.flywater.FiftyAlgorthm;importjava.util.Scanner;publicclassFourthPrimeFactor{staticintn,k=2;publicstaticvoidmain(String[]args){Scanners=newScanner(System.in);n=s.nextInt();System.out.print(n+"=");FourthPrimeFactorfpf=newFourthPrimeFactor7、();fpf.f(n);}publicvoidf(intn){while(k<=n){if(k==n){System.out.println(n);break;}elseif(n>k&&n%k==0){System.out.print(k+"*");n=n/k;f(n);break;}elseif(n>k&&n%k!=0){k++;f(n);break;}}}}/*【程序5】作者若水飞天题目:利用条件运算符的嵌套来完成此题:学习成绩
3、staticintcount=0;publicstaticvoidmain(String[]args){for(inti=101;i<200;i++){booleanb=true;//默认此数就素数for(intj=2;j<=Math.sqrt(i);j++){if(i%j==0){b=false;//此数不是素数break;}}if(b){count++;System.out.print(i+"");}}System.out.println("素数的个数:"+count);}}/*【程序3】作者若水飞天题目:打印出所有的"水仙花数(narcissusnumber)",所谓"水仙花数
4、"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。*/packagecn.com.flywater.FiftyAlgorthm;publicclassThirdNarcissusNum{staticintb,bb,bbb;publicstaticvoidmain(String[]args){for(intnum=101;num<1000;num++){ThirdNarcissusNumtnn=newThirdNarcissusNu
5、m();tnn.f(num);}}publicvoidf(intm){bbb=m/100;bb=(m%100)/10;b=(m%100)%10;if((bbb*bbb*bbb+bb*bb*bb+b*b*b)==m){System.out.println(m);}}}/*【程序4】作者若水飞天题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正
6、整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。*/packagecn.com.flywater.FiftyAlgorthm;importjava.util.Scanner;publicclassFourthPrimeFactor{staticintn,k=2;publicstaticvoidmain(String[]args){Scanners=newScanner(System.in);n=s.nextInt();System.out.print(n+"=");FourthPrimeFactorfpf=newFourthPrimeFactor
7、();fpf.f(n);}publicvoidf(intn){while(k<=n){if(k==n){System.out.println(n);break;}elseif(n>k&&n%k==0){System.out.print(k+"*");n=n/k;f(n);break;}elseif(n>k&&n%k!=0){k++;f(n);break;}}}}/*【程序5】作者若水飞天题目:利用条件运算符的嵌套来完成此题:学习成绩
此文档下载收益归作者所有