- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
集团档案编码:[YTTR-YTPT28-YTNTL98-UYTYNN08]
集团档案编码:[YTTR-YTPT28-YTNTL98-UYTYNN08]
java基础练习题及答案
【程序1】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一
对兔子,假如兔子都不死,问每个月的兔子总数为多少?
刚开始真的无从下手,这么难的,怎么可以说是基础呢,感觉这些应该是逻辑分析很强的,第一个月只有一对兔子,第二个月还是只有一对兔子,第三个月,就有两对了,第四个月3对,第五个月5对,第六个月8对,第七个月是13对。。。。。。规律出来了,你们发了没?
[java]
publicclassExample1{
publicstaticvoidmain(Stringargs[]){
//i是表示月份的,这里计算了36个月,也就是三年,兔子的数量
inti;
longarr[]=newlong[36];
//这个数组时用来计算每月有兔子的对数
arr[0]=arr[1]=1;
第1个月有兔子1对+,
+总数是+2);
第2个月有兔子1对+,
+总数是+2);
for(i=2;i=35;i++){
arr[i]=arr[i-1]+arr[i-2];
第+i+个月有兔子+arr[i]+对+,
+总数是+2*arr[i]);
//规律是每个数字都是前面两个数字之和
}
}
}
OK,用时45分钟。
【程序2】
题目:判断101-200之间有多少个素数,并输出所有素数。
素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数。也就是素数只有两个因子。
[java]
publicclassExample2{
publicstaticvoidmain(Stringargs[]){
inti,j,n,m,x;//n是用来存储余数的;m是用来统计具体一个数的因子;
n=0;m=0;x=0;
//x是用来统计101~200之前素数的个数
for(i=101;i=200;i++){
//两重循环
for(j=1;j=i;j++){
n=i%j;//去余数,如果余数为零,就是该数的因子
if(n==0){m=m+1;}//统计某数有多少个因子
}
if(m==2
);
x=x+1;}
//如果某数的因子只有两个,那它就一定是素数,那这个数就应该输出
m=0;
//一定要清零,不然会继续累加
}
在101~200之间一共有素数:+x+个);
}
}
我好笨啊,这题我做了两个钟头,最终还是解决了。加油
【程序3】
题目:打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:
153是一个水仙花数,因为153=1的三次方+5的三次方+3的三次方。想当年,做这些题都是网上找答案,如今事过境迁,不会也得会。
[java]
publicclassExample3{
publicstaticvoidmain(Stringargs[]){
inta,sum;//表示100~999
inti,j,k;//分别表示百位、十位、各位
for(a=100;a=999;a++){
i=a/100;
j=(a-i*100)/10;
k=a-i*100-j*10;
sum=i*i*i+j*j*j+k*k*k;
//java的运算符,立方要这样写,写成i^3这样,竟然运算不出来
//如果遇到高次的话可以使用循环算出来
if(sum==a)
}
}
还是有学到点东西,应该还有别的方法。那我就试试吧。
[java]
publicclassExample4{
publicstaticvoidmain(Stringargs[]){
intsum;
inti,j,k;//分别表示百位、十位、各位
for(i=1;i=9;i++){
for(j=0;j=9;j++){
for(k=0;k=9;k++){
sum=i*i*i+j*j*j+k*k*k;
if(i*100+j*10+k==sum){
}
}
}
}
}
}
【程序4】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
[java]
importjava.util.*;
publicclassExample4{
publicstaticvoidmain(String[]args){
i
文档评论(0)