ITPub博客

首页 > 应用开发 > C/C++ > C语言算法之猴子吃桃

C语言算法之猴子吃桃

C/C++ 作者:XYD漫漫 时间:2022-02-22 10:26:02 0 删除 编辑

秋收冬储,建议在寒冷的冬天,学一门能拿得出手的技能,以备不时之需。


学技术,重在日拱一卒、一点一滴的积累。


今天一起分析C语言的算法之6猴子吃桃。


算法题目:


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



编程思路分析

编程思路:


1、 倒推法,从最后一天算起,最后一天1个,前一天个数为后一天个数加一再乘2;


2、利用递归函数,如果天数为10,则为1个桃子,前一天的话为剩下的+1乘2(4)以此类推。




程序范例


#include <stdio.h>

 

#define uchar unsigned char

#define uint unsigned int

 

void main()

{

   uchar day,i;

   uint s=0,j=1,k=0;

 

    printf("请输入第几天剩下一个桃子!回车结束!\n");


     /*输入第几天剩下一个桃子*/

     scanf("%d",&day);                                   

    if(day==1)

    {

       printf("第一天共有桃子1个!\n");

    }

    else

    {

        for(i=1;i<day;i++)

        {

          /*从最后一天算起,最后一天1个,前一天个数为后一天个数加一再乘2 */

             s=(j+1)*2;                        

             j=s;

         }

         printf("第一天共有桃子%d个!\n",s);

    }

}

 

/*这不科学 第一天 猴子就撑死啦! */


程序运行结果案例:


图片




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70014179/viewspace-2856896/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
嵌入式、物联网培训 保就业保底薪

注册时间:2022-02-21

  • 博文量
    10
  • 访问量
    4593