首页 > 试题广场 >

猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过

[问答题]

猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第1天共摘多少个桃子。

推荐

#include<stdio.h>

int main( )

{

int day,x1,x2;

day=9;

x2=1;

while(day>0)

{x1=(x2+1)*2;         /*第1天的桃子数是第2天桃子数加1后的2倍.*/

x2=x1;

day--;

}

printf("total=%d\n",x1);

return 0;

}


发表于 2018-03-25 10:57:29 回复(0)
#include <stdio.h>
int eat(int);
int main() {
//    int x1,x2 = 0;
//    x1 = 1;
//    for(int i = 9;i>0;i--){
//        x2 = (x1+1)*2;
//        x1 = x2;
//    }
//    printf("%d",x2);
    int x = eat(10);
    printf("%d",x);
    return 0;
}
int eat(int n){
    if( n == 1){
        return 1;
    }else{
        return 2*(eat(n-1)+1);
    }
}

发表于 2022-10-03 17:07:58 回复(0)
//递归法 
#include<stdio.h>
int eat(int i);
int main(){
	int n=eat(10);
	printf("第一天共摘桃子:%d个",n);
	return 0;
}
int eat(int i){
	if (i==1)
		return 1;
	else
		return 2*(eat(i-1)+1);
}

//非递归法,从第十天反向思考。设当天的桃子为x,则前一天的桃子为 2*(x+1)
/*
#include<stdio.h>
int main(){
	int x=1;
	for(int i=0;i<9;i++)
		x=2*(x+1);
	printf("第一天共摘桃子:%d个",x);
	return 0;
}
*/

发表于 2021-01-16 15:00:59 回复(0)
include <stdio.h>
#include <stdlib.h>

int main()
{
    int peach = 1;
    for (int i = 1; i < 10; i++)
    {
        peach = (peach + 1) * 2;
    }
    printf("%d", peach);
    return 0;
}
发表于 2020-10-22 09:53:29 回复(0)
#include <stdio.h>
int main(){
 int left = 1;
 int cnt = left;
 for(int i = 0; i < 9; i ++){
  left = (left + 1) * 2;
  cnt = left;
  printf("%d ", cnt);
 }
 printf("\n");
}
//y = x - (x / 2 + 1);
//y = x / 2 - 1
发表于 2019-12-23 21:47:28 回复(0)
#include <iostream> 
using namespace std; 
int main()
{
int x, y, n;
for (x=1, n=9; n>=1; y=(x+1)*2, x=y, n--); 
cout<<"第一天共摘的桃子数量为 "<<x<<endl; 
return 0;
}
发表于 2019-09-28 21:57:05 回复(0)
#include<stdio.h>

int TotalPeaches(int,int);  //函数原型
int TotalPeaches(int peaches,int days)
{
    if(days==1)
        return peaches;
    --days;
    return TotalPeaches((peaches+1)*2,days);  //每一天是前一天的 一半零一个 
}
int main()
{
    int peach=1;
    peach=TotalPeaches(peach,10);
    printf("Total :%d\n",peach);
    return 0;
}

编辑于 2019-04-04 20:35:06 回复(0)