【程序1】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
//这是一个菲波拉契数列问题
publicclassTest1 {
public staticvoidmain(String[] args){
System.out.println("第1个月的兔子对数: 1");
System.out.println("第2个月的兔子对数: 1");
int f1 = 1, f2 = 1, f, M=24;
for(int i=3; i<=M; i++) {
f = f2;
f2 = f1 + f2;
f1 = f;
System.out.println("第" + i +"个月的兔子对数: "+f2);
}
}
}
【程序2】
题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
import java.util.Vector;
public classTest2
{
publicstaticvoidmain(String[] args)
{
int x=0;
Vector v = new Vector();//集合,用来装所有的素数
for(int i=101;i<=200;i++)
{
boolean b=true;//标签为b为真
for(int j=2;j<i;j++)
{
if(i%j==0)//求余数是否为0
{
b = false;//如果为0, 将标签设置为false
break; //可以整除就跳出这个循环
}
}
if(b==true)//
{
v.add(i);//将符合要求的i加到集合里
x++; // 素数个数加1
}
}
System.out.println("100到200中间有 "+x+" 个素数");
System.out.println("素数为:"+v);
}
}
【程序3】
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
public classTest3 {
public staticvoidmain(String args[]){
int i,j,k,n;
for(n=100;n<=999;n++){
i=n/100; j=(n/10)%10;
k=n%10;
if(n==i*i*i+k*k*k+j*j*j){
System.out.println(n);
}
}
}
}
【程序4】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
public classTest4 {
public staticvoidmain(String[] args){
int num=90;
int k = 2;
System.out.print(num + "=");
while (num> k) {
if (num% k == 0) {
System.out.print(k + "×");
num= num/ k;
}
if (num% k != 0) {
k++;
}
}
System.out.println(k);
}
}
【程序5】
题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
importjava.util.*;
public classTest5 {
public staticvoidmain(String[] args){
while(true){
System.out.print("请输入分数: ");
Scanner s=new Scanner(System.in);
System.out.println();
float score=s.nextFloat();
System.out.println((score>=90)?'A':((score>=60)?'B':'C'));
}
}
}