java基础练习题及答案(13页).doc
《java基础练习题及答案(13页).doc》由会员分享,可在线阅读,更多相关《java基础练习题及答案(13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-java基础练习题及答案-第 13 页【程序1】題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?刚开始真的无从下手,这么难的,怎么可以说是基础呢,感觉这些应该是逻辑分析很强的,第一个月只有一对兔子,第二个月还是只有一对兔子,第三个月,就有两对了,第四个月3对,第五个月5对,第六个月8对,第七个月是13对。规律出来了,你们发了没?javaview plaincopy1. publicclassExample12. publicstaticvoidmain(Stringargs)3. /i是表示月
2、份的,这里计算了36个月,也就是三年,兔子的数量4. inti;5. longarr=newlong36;/这个数组时用来计算每月有兔子的对数6. arr0=arr1=1;7. System.out.println(第1个月有兔子1对+,+总数是+2);8. System.out.println(第2个月有兔子1对+,+总数是+2);9. for(i=2;i=35;i+)10. arri=arri-1+arri-2;11. System.out.println(第+i+个月有兔子+arri+对+,+总数是+2*arri);12. /规律是每个数字都是前面两个数字之和OK,用时45分钟。【程序2
3、】题目:判断101-200之间有多少个素数,并输出所有素数。素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数。也就是素数只有两个因子。javaview plaincopy1. publicclassExample22. publicstaticvoidmain(Stringargs)3. inti,j,n,m,x;/n是用来存储余数的;m是用来统计具体一个数的因子;4. n=0;m=0;x=0;/x是用来统计101200之前素数的个数5. for(i=101;i=200;i+)/两重循环6. for(j=1;j=i;j+)7. n=i%j;/去余数,如果余数为零,就是该数的因子
4、8. if(n=0)m=m+1;/统计某数有多少个因子9. if(m=2)System.out.print(i+);x=x+1;/如果某数的因子只有两个,那它就一定是素数,那这个数就应该输出10. m=0;/一定要清零,不然会继续累加11. System.out.println();12. System.out.println(在101200之間一共有素數:+x+個);我好笨啊,这题我做了两个钟头,最终还是解决了。加油【程序3】题目:打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1的三次方5的三次方3的三次方。想当年,做
5、这些题都是网上找答案,如今事过境迁,不会也得会。javaview plaincopy1. publicclassExample32. publicstaticvoidmain(Stringargs)3. inta,sum;/表示1009994. inti,j,k;/分别表示百位、十位、各位5. for(a=100;a=999;a+)6. i=a/100;7. j=(a-i*100)/10;8. k=a-i*100-j*10;9. sum=i*i*i+j*j*j+k*k*k;10. /java的运算符,立方要这样写,写成i3这样,竟然运算不出来11. /如果遇到高次的话可以使用循环算出来12.
6、if(sum=a)13. System.out.println(sum);还是有学到点东西,应该还有别的方法。那我就试试吧。javaview plaincopy1. publicclassExample42. publicstaticvoidmain(Stringargs)3. intsum;4. inti,j,k;/分别表示百位、十位、各位5. for(i=1;i=9;i+)6. for(j=0;j=9;j+)7. for(k=0;k=9;k+)8. sum=i*i*i+j*j*j+k*k*k;9. if(i*100+j*10+k=sum)10. System.out.println(sum
7、);【程序4】题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。javaview plaincopy1. importjava.util.*;2. publicclassExample43. publicstaticvoidmain(Stringargs)4. intx;5. Scannerin=newScanner(System.i
8、n);/定义从键盘输入6. System.out.print(请输入一个正整数:);/提示7. x=in.nextInt();/将从键盘输入的数赋值给x8. newPrimeSplit(x);/匿名初始化一个对象,还有参数的构造函数9. classPrimeSplit10. intk=2;/将最小的质数赋值给k11. publicPrimeSplit(intx)/小于等于1的数不可以分解12. if(x=1)13. System.out.println(x+是无效的被分解数);14. elseif(x=2)15. System.out.println(x+分解后的质因数为:1*+x);/如果输
9、入的是最小质数2,16. else17. System.out.print(x+分解后的质因数为:1);/1是所有的正整数的质数18. while(k=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。javaview plaincopy1. publicclassExample52. publicstaticvoidmain(Stringargs)3. intscore=90;/分数的值可以随便修改4. if(score=90)5. System.out.println(A);6. elseif(score=60)7. System.out.println(B);8.
10、else9. System.out.println(C);【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。javaview plaincopy1. publicclassExample62. publicstaticvoidmain(Stringargs)3. gcdlcma=newgcdlcm();4. System.out.println(兩數的最大公約數是:+a.gcd(10,16);5. System.out.println(兩數的最小公倍數是:+a.lcm(16,10);6. classgcdlcm7. intgcd(intm,intn)8. if(mn)/這個判斷
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 基础 练习题 答案 13
限制150内