猴子吃桃问题
猴子第一天摘若干个桃,当即吃了一半,还不过瘾,又多吃了一个,以后每天早上都吃剩下的一半并多吃一个,直到第十天早上只剩一个,编程求第一天共摘了多少桃子这好像很简单
#include<iostream.h>void main(){
int day ,x1,x2;
day=9;x2=1;
while(day>0){
x1=2*(x2+1);
x2=x1;
day--;}
cout<<x2<<endl;}
已在vc6.0上运行了,答案是1534
不信试试
谢谢!能不能加点注释
能不能加点注释,代表每一句语句的用意 到这求解#include<iostream.h>
void main(){
int day ,x1,x2;
day=9;x2=1; x2=1 表示第十天的一个桃子
while(day>0){
x1=2*(x2+1); 第十天一个桃子+1 乘以2 就是第九天的 以此类推
x2=x1;
day--;}
cout<<x2<<endl;} 倒着求解!!!
递归求解
递归求解 用个循环就可以了... 递归,循环都可以,方法很多 #include <iostream.h>void main()
{
int remain(int n);//前n天剩下的桃子
cout<<remain(10);
cout<<endl;
}
int remain(int n)
{
if(n==1) //第十天剩下
return(1);
else
return(2*(remain(n-1)+1));
} 递归的话 如果数字很大发费他多了吧 这个问题还算简单,逆着求[tk20]
页:
[1]
