zoukankan      html  css  js  c++  java
  • 习题4-10 猴子吃桃问题 (15分)

    一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?

    输入格式:

    输入在一行中给出正整数N(1<N10)。

    输出格式:

    在一行中输出第一天共摘了多少个桃子。

    输入样例:

    3
    

    输出样例:

    10
    一、思路分析: 
    采用逆向思维,从后往前推断,发现其中有相同的地方,即出现递推公式,可以采用递归方法。
    令S10=1,容易看出S9=2(S10+1),简化一下 S9=2S10+2
    S8=2S9+2
    …..
    Sn=2Sn+1+2
    #include <stdio.h>
    
    int main()
    {
        int n;
        int dn=1,d1=0;//第n天为1个桃子。 
        scanf("%d",&n);
        while(n-1>0)
        {
            d1=(dn+1)*2;
            dn=d1;
            n--;
        }
        printf("%d
    ",d1);
        return 0;
    }
    #include <stdio.h>
    
    int main()
    {
        int n;
        int dn=1,d1=0;//第n天为1个桃子。 
        scanf("%d",&n);
        for(int i=n-1;i>0;i--)
        {
            d1=(dn+1)*2;
            dn=d1;
        }
        printf("%d
    ",d1);
        return 0;
    }
    #include <stdio.h>
    
    int main(){
    
        int n, sum=1;
        scanf("%d", &n);
        while(n>1)
        {//共吃了n-1天,还有一天没吃
            printf("第 %d 天, 还剩 %d 桃
    ", n, sum);
            sum = (sum+1)*2;
            n--;
        }
        printf("第一天, 共摘 %d 桃
    ", sum);
        return 0;
    }
  • 相关阅读:
    【计算机网络】宽带、基带传输
    【操作系统】多道程序的理解
    【操作系统】操作系统的理解
    NLP学习常用的网页链接
    linux下常用FTP命令 1. 连接ftp服务器[转]
    shell运行java/Jar 脚本
    jsp验证码
    用javascript实现的验证码
    eclipse设置高亮显示的颜色
    oracle 导出
  • 原文地址:https://www.cnblogs.com/2228212230qq/p/9296960.html
Copyright © 2011-2022 走看看