文档介绍:Java经典问题算法大全/*【程序1】题目:古典问题:有一对兔子, 从出生后第 3个月起每个月都生一对兔子,个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?:兔子的规律为数列1,1,2,3,5,8,13,21....*/.;lassFirstRabbit{publicstaticfinalintMONTH=15;publicstaticvoidmain(String[]args){longf1=1L,f2=1L;longf;for(inti=3;i<MONTH;i++){f=f2;f2=f1+f2;f1=f;("第"+i+"个月的兔子对数 :");(""+f2);}}}/*【程序2】作者若水飞天题目:判断 101-200之间有多少个素数,并输出所有素数。:判断素数的方法:用一个数分别去除 2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 */.;lassSecondPrimeNumber{publicstaticintcount=0;publicstaticvoidmain(String[]args){for(inti=101;i<200;i++){booleanb=true;//默认此数就素数for(intj=2;j<=(i);j++){if(i%j==0){b=false;//此数不是素数break;}}if(b){count++;(i+"");}}("\n 素数的个数: "+count);}}/*【程序3】作者 若水飞天题目:打印出所有的 "水仙花数(narcissusnumber)",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+的三次方+3的三次方。:利用 for循环控制 100-999个数,每个数分解出个位,十位,百位。*/.;lassThirdNarcissusNum{staticintb,bb,bbb;publicstaticvoidmain(String[]args){for(intnum=101;num<1000;num++){ThirdNarcissusNumtnn=newThirdNarcissusNum();(num);}}publicvoidf(intm){bbb=m/100;=(m%100)/10;b=(m%100)%10;if((bbb*bbb*bbb+bb*bb*bb+b*b*b)==m){(m);}}}/*【程序4】作者 若水飞天题目:将一个正整数分解质因数。例如:输入 90,打印出90=2*3*3*5。程序分析:对 n进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成:(1)如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。(2)如果n>k,但n能被k整除,则应打印出 k的值,并用 n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。*/.;;lassFourthPrimeFactor{staticintn,k=2;publicstaticvoidmain(String[]args){Scanners=newScanner();n=();(n+"=");FourthPrimeFactorfpf=newFourthPrimeFactor();(n);}publicvoidf(intn){while(k<=n){if(k==n){(n);break;}elseif(n>k&&n%k==0){(k+"*");n=n/k;f(n);break;}elseif(n>k&&n%k!=0){k++;f(n);break;}}}}/*【程序5】作者 若水飞天题目:利用条件运算符的嵌套来完成此题: 学习成绩>=90分的同学用 A表示,60-89分之间的用B表示,60分以下的用C表示。:(a>b)?a:b这是条件运算符的基本例子。.