欢迎来到天天文库
浏览记录
ID:52199865
大小:142.50 KB
页数:46页
时间:2020-03-24
《JAVA经典基础算法编程.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java经典问题算法大全/*【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....*/packagecn.com.flywater.FiftyAlgorthm;publicclassFirstRabbit{publicstaticfinalintMONTH=15;publicstaticvoidmain(String[]args){
2、longf1=1L,f2=1L; longf; for(inti=3;i3、agecn.com.flywater.FiftyAlgorthm;publicclassSecondPrimeNumber{publicstaticintcount=0; publicstaticvoidmain(String[]args){ for(inti=101;i<200;i++){ booleanb=true;//默认此数就素数 for(intj=2;j<=Math.sqrt(i);j++){ if(i%j==0){ 4、 b=false;//此数不是素数 break; } } if(b){ count++; System.out.print(i+""); } } System.out.println("素数的个数:"+count); }}/*【程序3】作者若水飞天题目:打印出所有的"水仙花数(narcissusnumber)",所谓"水仙花数"是指一个三位数,其各位数5、字立方和等于该数本身。例如: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++){ ThirdNa6、rcissusNumtnn=newThirdNarcissusNum(); 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进行分解质因数,应先找到一个最小7、的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。*/packagecn.com.flywater.FiftyAlgorthm;importjava.util.Scanner;publicclassFourthPrimeFactor{staticintn,k=2;publicstaticvo8、idmain(String[]args){ Scanners=newScanner(System.in); n=s.nextInt(); System.out.print(n+"="); FourthPrimeFactorfpf=newFourthPrimeFactor(); fpf.f(n);}publicvoidf(intn){ while(k<=n){ if(k==n){
3、agecn.com.flywater.FiftyAlgorthm;publicclassSecondPrimeNumber{publicstaticintcount=0; publicstaticvoidmain(String[]args){ for(inti=101;i<200;i++){ booleanb=true;//默认此数就素数 for(intj=2;j<=Math.sqrt(i);j++){ if(i%j==0){
4、 b=false;//此数不是素数 break; } } if(b){ count++; System.out.print(i+""); } } System.out.println("素数的个数:"+count); }}/*【程序3】作者若水飞天题目:打印出所有的"水仙花数(narcissusnumber)",所谓"水仙花数"是指一个三位数,其各位数
5、字立方和等于该数本身。例如: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++){ ThirdNa
6、rcissusNumtnn=newThirdNarcissusNum(); 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进行分解质因数,应先找到一个最小
7、的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。*/packagecn.com.flywater.FiftyAlgorthm;importjava.util.Scanner;publicclassFourthPrimeFactor{staticintn,k=2;publicstaticvo
8、idmain(String[]args){ Scanners=newScanner(System.in); n=s.nextInt(); System.out.print(n+"="); FourthPrimeFactorfpf=newFourthPrimeFactor(); fpf.f(n);}publicvoidf(intn){ while(k<=n){ if(k==n){
此文档下载收益归作者所有