【程序1】
題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一
对兔子,假如兔子都不死,问每个月的兔子总数为多少?
刚开始真的无从下手,这么难的,怎么可以说是基础呢,感觉这些应该是逻辑分析很强的,第一个月只有一对兔子,第二个月还是只有一对兔子,第三个月,就有两对了,第四个月3对,第五个月5对,第六个月8对,第七个月是13对。。。。。。规律出来了,你们发了没?
[java]view plain copy
1.public class Example1{
2.public static void main(String args[]){
3.//i是表示月份的,这里计算了36个月,也就是三年,兔子的数量
4.int i;
5.long arr[]=new long[36];  //这个数组时用来计算每月有兔子的对数
6.      arr[0]=arr[1]=1;
7.      System.out.println("第1个月有兔子1对"+", "+"总数是"+2);
8.      System.out.println("第2个月有兔子1对"+", "+"总数是"+2);
9.for(i=2;i<=35;i++){
10.        arr[i]=arr[i-1]+arr[i-2];
11.        System.out.println("第"+i+"个月有兔子"+arr[i]+"对"+", "+"总数是
"+2*arr[i]);
12.//规律是每个数字都是前面两个数字之和
13.        }
14.  }
15.
16.}
OK,用时45分钟。
【程序2】
题目:判断101-200之间有多少个素数,并输出所有素数。
素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数。也就是素数只有两个因子。
[java]view plain copy
1.public class Example2 {
2.public static void main(String args[]){
3.int i,j,n,m,x;      //n是用来存储余数的;m是用来统计具体一个数的因子;
4.    n=0;m=0;x=0;        //x是用来统计101~200之前素数的个数
5.for(i=101;i<=200;i++){            //两重循环
6.for(j=1;j<=i;j++){
7.            n=i%j;                    //去余数,如果余数为零,就是该数的因子
8.if(n==0)  { m=m+1; }      //统计某数有多少个因子
9.            }
10.if(m==2){System.out.print(i+" "); x=x+1;} //如果某数的因子只有两个,那它就
一定是素数,那这个数就应该输出
11.          m=0;            //一定要清零,不然会继续累加
12.        }
13.      System.out.println();
14.      System.out.println("在101~200之間一共有素數:"+x+"個");
15.        }
16.  }
我好笨啊,这题我做了两个钟头,最终还是解决了。加油
【程序3】
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。想当年,做这些题都是网上答案,如今事过境迁,不会也得会。
[java]view plain copy
1.public class Example3 {
2.public static void main(String args[]){
3.int a,sum;    //表示100~999
4.int i,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的运算符,立方要这样写,写成i^3这样,竟然运算不出来
11.//如果遇到高次的话可以使用循环算出来
字符串常量1234的长度是多少12.if(sum==a)
13.          { System.out.println(sum);
14.            }
15.
16.      }
还是有学到点东西,应该还有别的方法。那我就试试吧。[java]view plain copy
1.public class Example4 {
2.public static void main(String args[]){
3.int sum;
4.int i,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);
11.                  }
12.              }
13.          }
14.      }
15.
16.  }
17.}
【程序4】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
[java]view plain copy
1.import java.util.*;
2.public class Example4{
3.public static void main(String[] args){
4.int x;
5.    Scanner in = new Scanner(System.in);//定义从键盘输入
6.    System.out.print("请输入一个正整数:");//提示
7.    x = in.nextInt(); //将从键盘输入的数赋值给x
9.  }
10.}
11.class PrimeSplit{
12.int k = 2; //将最小的质数赋值给k
13.public PrimeSplit(int x){  //小于等于1的数不可以分解
14.if(x<=1){
15.      System.out.println(x+"是无效的被分解数");
16.    }
17.else if(x==2){
18.      System.out.println(x+"分解后的质因数为: 1*"+x);  //如果输入的是最小质数
2,
19.    }else {
20.      System.out.print(x+"分解后的质因数为: 1"); //1是所有的正整数的质数
21.while(k<=x){  //输入的数可以被k整除
22.if(x%k==0){
23.          System.out.print("*"+k);          //将k添加到结果中
24.          x = x/k;//除以最小质数后重新循环
25.          }
26.else{
27.          k++;
28.          }
29.        }
30.      }
31.    }
32.  }
【程序5】
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下
的用C表示。
[java]view plain copy
1.public class Example5 {
2.public static void main(String args[]){
3.int score=90;        //分数的值可以随便修改
4.if(score>=90){
5.          System.out.println("A");
6.      }
7.else if(score>=60){
8.          System.out.println("B");
9.      }
10.else{
11.          System.out.println("C");
12.      }
13.
14.    }
15.}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。