用java编写程序
1.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问12个月内每个月的兔子总数为多少?兔子的规律为数列1,1,2,3,5,8,13,21....
2.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。程序分析:采取逆向思维的方法,从后往前推断。
1.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问12个月内每个月的兔子总数为多少?兔子的规律为数列1,1,2,3,5,8,13,21....
2.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。程序分析:采取逆向思维的方法,从后往前推断。
解决方案 »
- CAS单点登录,怎么关闭tomcat的SSL认证?(顶有分)
- 请教联通彩信开发
- 怎么我的MyEclipse进行debug测试是没有跳到我指定的断点,而是出现了Class.clss文件
- 数据库怎么反生成hibernate注释
- 紧急求助 jsp 大附件上传问题
- Spring aop怎么拦截webwork的 action? 请教高手!
- 学习Hibernate中遇到的一堆问题,我实在无力解决!
- 看源码的时候,怎么从接口方法跳到真正的实现方法
- 使用SSLSocket时,要提供certificate吗?
- SOS!!!!写cmp的finder要在ejb-jar.xml加什么??`
- java 如何动态建立 mysql 表
- struts2中实现下拉菜单的联动
int fib(int n) {
if (n < 2)
return 1;
return (fib(n - 2) + fib(n - 1));
} public static void main(String[] args) {
Fibonacci f = new Fibonacci();
for (int i = 0; i < 12; i++) {
if (i < 2) {
System.out.print( f.fib(i)+" :");
} else {
System.out.print(f.fib(i)+" :");
}
}
}
}
第二题等下发
public static void main(String[] args) {
int[] peach = new int[10];
peach[9] = 1;
// 下面利用的是数组和循环将每天的桃子数量都求出来了
for (int i = peach.length - 1; i > 0; i--) {
peach[i - 1] = 2 * (peach[i] + 1);
}
for (int i = 0; i < peach.length; i++) {
System.out.println(peach[i]);
}
System.out.println("第一天的桃子数:" + getPeach_Num(10, 1));
} public static int getPeach_Num(int day, int peach_num) {
if (day == 1)
return peach_num;
else if (day < 1 || peach_num < 0)
return 0;
else
return getPeach_Num(day - 1, (peach_num + 1) * 2);
}}
类名命名不规范哈,将就了 自己改改
int last = 1;
System.out.println("第10天还有"+last+"个!");
for(int i=9;i>0;i--){
last = (last+1)*2;
System.out.println("第"+i+"天还有"+last+"个!");
}
System.out.println("total>>>>"+last);第10天还有1个!
第9天还有4个!
第8天还有10个!
第7天还有22个!
第6天还有46个!
第5天还有94个!
第4天还有190个!
第3天还有382个!
第2天还有766个!
第1天还有1534个!
int a=1;
for(int i=1;i<10;i++){
a=(a+1)*2;
}
System.out.println(a);
{
if(a==1)
{
return 1;
}
else if(a==2)
{
return 1;
}
else
{
return testAdd(a-1)+testAdd(a-2);
}
}参数为月份。
int x = 1;
for (int i = 10; i >= 1; i--) {
if (i == 10) {
x = 1;
} else {
x = (x +1)* 2;
}
}
System.out.println(x);
for(int i=10;i>0;i--){
System.out.println(lastDay);
lastDay=(lastDay+1)*2;
}
public static int ss(int months){
int rabbits=1;
for(int i=1;i<=months;i++){
if(i>=3){
rabbits=rabbits+1;
rabbits+=ss(months-i+1);
}
}
return rabbits;
}
int n=1;
for(int i=0;i<9;i++){
n=(n+1)*2
}//9次以后为第一天摘完以后剩下的果实数量故第一天共摘了n+2个