helloroot


私信TA

用户名:helloroot

访问量:10959

签 名:

等  级
排  名 5113
经  验 1575
参赛次数 0
文章发表 14
年  龄 0
在职情况 学生
学  校 上海交通大学
专  业

  自我简介:

解题思路:

我这个是倒着推的,从最后一天剩下1个开始往前推. 如果是最后一天,sum应该加1,因为只剩下一个

但是如果不是最后一天,应该是前一天剩下的数量*2 +2才对, 只所以不是加1是因为 直接拿昨天的数量剩下2,其实得到的不是剩下桃子的一半.

最后一天剩下1, 往前推很容易得出倒数第二天剩下4. 直接拿1*2+1是不对的. 因为剩下的1,不是倒数第二天剩下的一半. 乘之前应该是1+1 才是前天剩下的一半. 再往前推是一样的 (4+1) *2是倒数第3天的 




注意事项:





参考代码:

#include <stdio.h>

int main()
{
    int days,i,sum=0;
    scanf("%d", &days);
    for(i=1;i<=days;i++){
        if(i ==1){
            sum+=1;
        }else {
            sum*=2;
            sum+=2;
        }
    }
    printf("%d\n",sum);
}


 

0.0分

0 人评分

  评论区

  • «
  • »