java基础练习题及标准答案.docx
文本预览下载声明
【程序1】
題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
刚开始真的无从下手,这么难的,怎么可以说是基础呢,感觉这些应该是逻辑分析很强的,第一个月只有一对兔子,第二个月还是只有一对兔子,第三个月,就有两对了,第四个月3对,第五个月5对,第六个月8对,第七个月是13对。。。。。。规律出来了,你们发了没?
[java]? \o view plain view plain? \o copy copy
public?class?Example1{??
????public?static?void?main(String?args[]){???
????//i是表示月份的,这里计算了36个月,也就是三年,兔子的数量??
??????int?i;??
??????long?arr[]=new?long[36];???//这个数组时用来计算每月有兔子的对数??
??????arr[0]=arr[1]=1;??
??????System.out.println(第1个月有兔子1对+,?+总数是+2);??
??????System.out.println(第2个月有兔子1对+,?+总数是+2);??
??????for(i=2;i=35;i++){??
?????????arr[i]=arr[i-1]+arr[i-2];??
?????????System.out.println(第+i+个月有兔子+arr[i]+对+,?+总数是+2*arr[i]);??
?????????????//规律是?每个数字都是前面两个数字之和??
?????????}??
???}??
??????????
}??
OK,用时45分钟。
【程序2】?题目:判断101-200之间有多少个素数,并输出所有素数。?
素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数。也就是素数只有两个因子。
[java]? \o view plain view plain? \o copy copy
public?class?Example2?{??
public?static?void?main(String?args[]){??
????int?i,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){System.out.print(i+?);?x=x+1;}?//如果某数的因子只有两个,那它就一定是素数,那这个数就应该输出??
??????????m=0;????????????//一定要清零,不然会继续累加??
????????}??
???????System.out.println();??
???????System.out.println(在101~200之間一共有素數:+x+個);??
????????}??
???}??
我好笨啊,这题我做了两个钟头,最终还是解决了。加油【程序3】题目:打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:
153是一个水仙花数,因为153=1的三次方+5的三次方+3的三次方。想当年,做这些题都是网上找答案,如今事过境迁,不会也得会。
[java]? \o view plain view plain? \o copy copy
public?class?Example3?{??
????public?static?void?main(String?args[]){???
???????int?a,sum;?????//表示100~999??
???????int?i,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
显示全部