欢迎来到天天文库
浏览记录
ID:12554984
大小:152.00 KB
页数:49页
时间:2018-07-17
《竞赛java编程题50题(有答案)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题publicclasslianxi01{publicstaticvoidmain(String[]args){System.out.println("第1个月的兔子对数: 1");System.out.println("第2个月的兔子对数: 1");intf1=1,f2=1,f,M=24; for(inti=3
2、;i<=M;i++){ f=f2; f2=f1+f2; f1=f; System.out.println("第"+i+"个月的兔子对数:"+f2); }}}【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 publicclasslianxi02{publicstaticvoidmain(String[]args){ intcoun
3、t=0; for(inti=101;i<200;i+=2){ booleanb=false; for(intj=2;j<=Math.sqrt(i);j++) { if(i%j==0){b=false;break;} else {b=true;} } if(b==true){count++;System.out.println(i);} } System.out.prin
4、tln("素数个数是:"+count);}}【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。publicclasslianxi03{publicstaticvoidmain(String[]args){ intb1,b2,b3; for(intm=101;m<1000;m++){ b3=m/100; b2=m%100/10; b1=m% 1
5、0; if((b3*b3*b3+b2*b2*b2+b1*b1*b1)==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的值,重复执行第一步。 importjava.util.*;public class lianxi04{ publicstaticvoidmain(String[]args){ Scanners=newScanner(System.in); System.out.print("请键入一个正整数: "); int n =s.nextInt(); intk=2;
7、System.out.print(n+"="); while(k<=n){ if(k==n){System.out.println(n);break;} elseif(n%k==0){System.out.print(k+"*");n=n/k;} else k++; } } }【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示
8、,60分以下的用C表示。 importjava.util.*;publicclasslianxi05{publicstaticvoidmain(String[]args){ intx; chargrade; Scanners=newScanner(System.in); System.out.print
此文档下载收益归作者所有