C语言猴子吃桃问题

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

实现过程:

(1) 定义 day、x1、x2 为基本整型,并为 day 和 x2 赋初值 9 和 1。

(2) 使用 while 语句由后向前推出第一天摘的桃子数。

(3) 输出结果。

(4) 程序代码如下:

#include 
int main()
{
    intday,x1,x2;    /*定义 day、x1、x2 3 个变董为基本整型*/
    day=9;
    x2=1;
    while(day>0)
    {
        x1=(x2+1)*2;    /*第一天的桃子数是第二天桃子数加1后的2倍*/
        x2=x1;
        day--;    /*因为从后向前推所以天数递减*/
    }
    printf("the total is %d\n",x1);    /* 输出桃子的总数*/
    return 0;
}

运行结果:

the total is 1534

技术要点:

本实例的思路基本上是先找出变量间的关系,也就是要明确第一天桃数和第二天桃子数之间的关系,即第二天桃子数加 1 的 2 倍等于第一天的桃子数。

分类C语言案例01-10相关推荐:

C语言三个数从小到大排序/输出 C语言猴子吃桃问题 C语言百钱买百鸡(百钱百鸡,百鸡问题) C语言渔夫打鱼晒网问题 C语言希尔排序算法 C语言冒泡排序算法 C语言直接插入排序算法 C语言快速排序算法 C语言选择排序算法 C语言归并排序算法