zoukankan      html  css  js  c++  java
  • 猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第1天共摘多少个桃子?

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

    答案解析:

    从题面上来看,可以推出,后一天的桃子数量 = 前一天桃子数量 / 2 - 1。所以,该公式也可以写成前一天的桃子数量 = (后一天桃子数量+1) * 2。所以我们知道了第10天剩余桃子的数量,则可以依次推算出桃子的前一天桃子的总数。需要注意的点,猴子只是吃了9天,所以,我们只需要遍历9次就可以了。

    代码示例:

    #include <stdio.h>
    
    int main()
    {
    	int day = 9;
    	int prev_day_count;
    	int cur_day_count = 1;
    	while (day > 0)
    	{
    		prev_day_count = (cur_day_count + 1) * 2;
    		cur_day_count = prev_day_count;
    		day--;
    	}
    	printf("total count : %d
    ", cur_day_count);
    	return 0;
    }
    

    运行截图:

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

  • 相关阅读:
    Java中的多态polymorphism
    Java中的“继承”
    面向对象(Oriented Object Programing)的本质
    Java设计方法原则
    Motor Parameter
    Motor Vocabuary
    JD
    CAN
    多个TXT文件合成一个,输出到excel里
    正则表达式
  • 原文地址:https://www.cnblogs.com/inta/p/13254563.html
Copyright © 2011-2022 走看看