猴子吃桃子问题

采用逆向思维:
/*
	猴子吃桃子问题。猴子第一天摘下若干个桃,当即吃掉一半,又多吃一个。
	第二天早上又将剩下的一半吃掉一半,又多吃一个。以后每天早上都吃了
	前天剩下的一半零一个,到第10天早上只剩下最后一个桃。问第一天摘了几个桃。
*/
#include<stdio.h>

int main()
{
	int sum;//桃子的总数
	int day = 9;//天数
	int temp=1;
	while(day!=0)
	{
		//第10天是1个桃子,则第9天的桃子数=(第10天剩余桃子数+1)后的2倍
		temp =2*(temp+1);//第一天的桃子数是第2天桃子数加1后的2倍
		day--;
	}
	sum = temp;
	printf("%d\n",sum);//答案是1534个桃子
	return 0;
}

时间: 2024-11-02 12:08:21

猴子吃桃子问题的相关文章

华为猴子吃桃子问题

N(3<=N<=9))只猴子采得一堆桃子,半夜里第一只猴子偷偷起来把桃平均分成N分, 发现还多一个,它吃了那个桃子,还拿走其中的一份,第二只猴子起来又把桃子分成N分,还多一个,它吃了那个桃子,又拿走其中的一份,第三只.第四只......第N只猴子都如此做了,请问这堆桃子至少有多少个? 直接上代码: package test; import java.util.Scanner; public class Monkey { static int n; static int sum; static

用Java编程计算猴子吃桃问题

猴子吃桃问题:猴子吃桃子问题:猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又吃了一个.第二天又将剩下的桃子吃掉一半,又多吃了一个.以后每天都吃前一天剩下的一半零一个.到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子? 分析:假如每天有x个桃子,猴子吃了一半加一个,就是吃了x/2+1个,那么剩余x-(x/2+1)=x/2-1个:这样,第二天有x/2-1个桃子供当天使用.我们可以看出这么一个规律:今天的桃子个数+1再乘2等于昨天的桃子个数:用上面的表达式就是( x/2-1  

复习以及break、continue、while、do-while的运用

一.复习:循环.反复执行某段语句一种语法形式.1.基本语法:for( 初始条件 ; 循环条件 ; 状态的改变 ){ 循环体}循环的四要素.循环的执行过程.初始条件--循环条件--循环体--状态改变--循环条件--.....案例:1.打印10您好.2.显示1-100的数(所有的数,奇数,偶数).3.显示ASCII码. 2.循环的嵌套.for( ...;... ; ...){ for(...;...;...) { }}案例:打印各种图形——外层的循环,打印行.内层循环,打印列. 3.应用(迭代,穷举

12月26日提纲

一.复习: 循环.反复执行某段语句一种语法形式. 1.基本语法: for( 初始条件 ; 循环条件 ; 状态的改变 ) {  循环体 } 循环的四要素. 循环的执行过程.初始条件--循环条件--循环体--状态改变--循环条件--..... 案例:1.打印10您好.2.显示1-100的数(所有的数,奇数,偶数).3.显示ASCII码. 2.循环的嵌套. for( ...;... ; ...) { for(...;...;...) { } } 案例:打印各种图形——外层的循环,打印行.内层循环,打印

其他语句2

1.switch - if ...else if...switch(表达式){ case 值: ..... break; case 值: ..... break; default: ..... break; } 2.while -- forint i = 0;//变量初化.while(循环条件){ //循环体 //i++;//状态改变.}do...while(); foreach(元素类型 变量 in 集合或数组){} 3.锯齿数组——数组的数组定义:a.定义数组的数组:int[][] a =

些许作业

//菱形x1 int x=0; int x1=0; for(int i=0;i<5;i++){ for(int j=0;j<10;j++){ x=5+i; x1=5-i; if(j>=x1&&j<=x){System.out.print ("*");} else{System.out.print(" ");} } System.out.println(); } int x3=0; int x4=0; for(int i=1;i

C#5 复习总结循环 迭代和穷举

一.章节复习: 循环.反复执行某段语句一种语法形式. 1.基本语法: for( 初始条件 ; 循环条件 ; 状态的改变 ) { 循环体 } 循环的四要素. 循环的执行过程.初始条件--循环条件--循环体--状态改变--循环条件--..... 案例:1.打印10您好.2.显示1-100的数(所有的数,奇数,偶数).3.显示ASCII码. 2.循环的嵌套. for( ...;... ; ...) { for(...;...;...) { } } 案例:打印各种图形--外层的循环,打印行.内层循环,打

C# 10 总复习

数据类型--变量与常量--运算符与表达式--语句(if,for)--数组--函数--结构体 一.数据类型: (一)内建类型 整型(int short long byte uint ushort ulong sbyte),浮点(double float decimal),布尔(bool),字符(char) 对于整型和浮点型都有个ToString("格式化字符串"): #——任意一个数字.有的话就显示,没有就不显示. 0——必须有一个数字,没有的话就补零. .——小数点 ,——千位分隔.

C#。总结

数据类型--变量与常量--运算符与表达式--语句(if,for)--数组--函数--结构体一.数据类型: (一)内建类型 整型(int short long byte uint ushort ulong sbyte),浮点(double float decimal),布尔(bool),字符(char) 对于整型和浮点型都有个ToString("格式化字符串"): #——任意一个数字.有的话就显示,没有就不显示. 0——必须有一个数字,没有的话就补零. .——小数点 ,——千位分隔. (