A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

问题:猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子。
不知道写没写对,大神鉴定下,最好送点黑马币,离高富帅不远了,哇哈哈.......
  1. /*
  2. 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子。
  3. */

  4. #include <stdio.h>

  5. int main(int argc, const char * argv[]) {
  6.    
  7.     //定义变量桃子总数all
  8.     int all=1;
  9.     for (int i=9; i>0; i--) {
  10.         
  11.         all=(all+1)*2;
  12.     }
  13.     printf("桃子总个数是:%d\n",all);
  14.    
  15.     return 0;
  16. }

  17. /*
  18.     10  9   8   7   6   5   4   3   2   1
  19.      1  4   10  22  46  94  190 382 766 1534
  20. */
复制代码

11 个回复

倒序浏览
水水更健康,黑马币拿来
回复 使用道具 举报
支持一下同学的帖子
回复 使用道具 举报
guyinghua901018 发表于 2015-4-13 21:46
支持一下同学的帖子

请用黑马币的方式支持:lol
回复 使用道具 举报
来是要黑马币的奥:handshake
回复 使用道具 举报
董zhx 发表于 2015-4-13 23:36
来是要黑马币的奥

等审核过了,就开始送币了
回复 使用道具 举报
这种题经典的一个做法是利用函数的递归调用求桃子的数量:victory:
回复 使用道具 举报

  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int n;
  5.     scanf("%d", &n);
  6.     printf("%d\n", 3 * (1 << n - 1) - 2);
  7.     return 0;
  8. }
复制代码
回复 使用道具 举报
oucding 发表于 2015-4-14 13:53
这种题经典的一个做法是利用函数的递归调用求桃子的数量

老师说递归效率低,而且递归不会用
回复 使用道具 举报

void test11()
{
    int x = 1;
    int y = 0;
   
    for (int i = 1; i<10; i++)
    {
        x = (x*2)+2;
        
    }
    y +=x;
    printf("%d",y);
}
回复 使用道具 举报
你技术分都够了还要什么黑马币,赶紧发点儿
回复 使用道具 举报
我去吃桃子了,我喜欢实践
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马