黑马程序员技术交流社区

标题: 必备的小算法 [打印本页]

作者: NGQ    时间: 2017-4-3 10:35
标题: 必备的小算法
程序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);
}
}
【程序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;
}
}
【程序3】 题目:打印出所有的 "水仙花数 ",所谓

作者: 轻风24    时间: 2017-4-3 12:14
确实经典的题目,学习了。

作者: xiaomilu    时间: 2017-4-3 14:36
oooooooo......
作者: Hp_Yx    时间: 2017-4-3 16:53
已经收藏

作者: 若梦蓝山悠长    时间: 2017-4-3 17:38
楼主辛苦了~
作者: zxcasdf555    时间: 2017-4-3 18:36
什么事水仙花数?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2