黑马程序员技术交流社区
标题:
必备的小算法
[打印本页]
作者:
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