注册 登录
编程论坛 C++教室

求教一个算法思路。

boy_royalty 发布于 2011-10-14 14:29, 576 次点击
就是说有n个桃子,第一天吃n/2+1个,第二天吃第一天剩下的一半加一个,第三天吃第二天剩下的一半加一个,以此类推,到第m天要吃的时候,只剩下一个桃子,给出m,求n,怎么算?
5 回复
#2
yy7software2011-10-14 16:03
这个算法,给出m,求n..n不是唯一解啊,,想不出来
#3
boy_royalty2011-10-14 17:05
不会吧,比如m=2,n只能=4。m=4,n=22是唯一解啊。
#4
Toomj2011-10-14 18:35
n=1;
while(--m)
n=(n+1)*2;
#5
yy7software2011-10-14 19:27
这个不行吧,,答案不是唯一的,
#6
来也去也2011-10-19 10:43
程序代码:
//m=10时一个简单例子
#include<iostream>
using namespace std;

int eat(int n=10)
{
    int sum=1;
    if(n>1)
        sum=2*(eat(n-1)+1);
    return sum;
}

int main()
{  
    cout<<"桃子总数为:"<<eat()<<endl;
    return 0;
}
1