zoukankan      html  css  js  c++  java
  • C语言程序设计例子(3):猴子吃桃问题

    来自于:http://www.jb51.net/article/38051.htm

            http://blog.csdn.net/Neil_Wesley/article/details/51484026

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

    思路分析: 
    采用逆向思维,从后往前推断,发现其中有相同的地方,即出现递推公式,可以采用递归方法。 
    令S10=1,容易看出S9=2(S10+1),简化一下 
    S9=2S10+2 
    S8=2S9+2 
    ….. 
    Sn=2Sn+1+2 


    下面我将解决这个问题。(第一种为普通循环方式,第二种为递归方式)

    方法一:while

    #include<stdio.h>
    int main()
    {
        int day,x1,x2;
        day=9;
        x2=1;
        while(day>0)
        {
            x1=(x2+1)*2;
            x2=x1;
            day--;
        }
        printf("the total is %d
    ",x1);
    }

     方法二:递归

    #include<stdio.h>
    int sumPeach(int day);
    int main()
    {
        int sum;
        sum=sumPeach(1);
        printf("%d",sum);
    }
    int sumPeach(int day)
    {
        if(day==10)
        {
            return 1;
        }
        else
            return 2*sumPeach(day+1)+2;
    }
  • 相关阅读:
    tomcat集群--单tomcat多实例
    nginx 轮询模式 nginx_upstream_jvm_route 插件安装
    nginx 反向代理配置
    HP SiteScope安装
    visualVM远程监控JVM
    robotium 测试APK<一> 建立测试工程
    jmeter的http post请求与测试Java请求
    第 10 天
    第 1~8 天复习
    第 9 天 python操作mysql数据库
  • 原文地址:https://www.cnblogs.com/Timenow/p/6899690.html
Copyright © 2011-2022 走看看