【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不
死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
- public class exp2{
- public static void main(String args[]){
- int i=0;
- for(i=1;i<=20;i++)
- System.out.println(f(i));
- }
- public static int f(int x){
- if(x==1 || x==2)
- return 1;
- else
- return f(x-1)+f(x-2);
- }
- }
- 或
- public class exp2{
- public static void main(String args[]){
- int i=0;
- math mymath = new math();
- for(i=1;i<=20;i++)
- System.out.println(mymath.f(i));
- }
- }
- class math{
- public int f(int x){
- if(x==1 || x==2)
- return 1;
- else
- return f(x-1)+f(x-2);
- }
- }
public class exp2{
public static void main(String args[]){
int i=0;
for(i=1;i<=20;i++)
System.out.println(f(i));
}
public static int f(int x){
if(x==1 || x==2)
return 1;
else
return f(x-1)+f(x-2);
}
}
或
public class exp2{
public static void main(String args[]){
int i=0;
math mymath = new math();
for(i=1;i<=20;i++)
System.out.println(mymath.f(i));
}
}
class math{
public int f(int x){
if(x==1 || x==2)
return 1;
else
return f(x-1)+f(x-2);
}
}
【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
- public class exp2{
- public static void main(String args[]){
- int i=0;
- math mymath = new math();
- for(i=2;i<=200;i++)
- if(mymath.iszhishu(i)==true)
- System.out.println(i);
- }
- }
- class math{
- public int f(int x){
- if(x==1 || x==2)
- return 1;
- else
- return f(x-1)+f(x-2);
- }
- public boolean iszhishu(int x){
- for(int i=2;i<=x/2;i++)
- if (x % 2==0 )
- return false;
- return true;
- }
- }
public class exp2{
public static void main(String args[]){
int i=0;
math mymath = new math();
for(i=2;i<=200;i++)
if(mymath.iszhishu(i)==true)
System.out.println(i);
}
}
class math{
public int f(int x){
if(x==1 || x==2)
return 1;
else
return f(x-1)+f(x-2);
}
public boolean iszhishu(int x){
for(int i=2;i<=x/2;i++)
if (x % 2==0 )
return false;
return true;
}
}