`
zy3381
  • 浏览: 157519 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

猴子吃桃问题

 
阅读更多
猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?


#include<stdio.h>

/************************************************************************/
/*  从最后两天开始分析													*/
/*	第九天的桃子数量x9和第十天的桃子数量x10的关系为x9-x9/2-1=x10		*/
/*  变换以后可得x9=(x10+1)*2,又知道x10=1;所以采用递归                  */
/************************************************************************/

//	1.递归方式
int fun(int n)
{
	if(n==1) return 1;
	return (fun(n-1) +1)*2;
}
//	2.数组方式
int fun1(int n)
{
//	int m[n];	//VC6不支持- -!
	int m[10];
	m[n-1] = 1;
	for(int i = n-2; i>=0; i--)
	{
		m[i] = (m[i+1] + 1) * 2 ;
	}
	return m[0];
}
//	3.循环求解方式
int fun2(int n)
{
	int a2 = 1;
	int a1;
	while(n>1)
	{
		a1 = (a2 + 1) * 2;
		a2 = a1;
		n--;
	}
	return a1;
}
	
void main()
{

	printf("%d\n", fun(10));
	printf("%d\n", fun1(10));
	printf("%d\n", fun2(10));


}

分享到:
评论

相关推荐

    涉及多种算法的C++猴子吃桃问题

    在编程领域,猴子吃桃问题是一个经典的动态规划问题,它源于中国的民间故事,常用于考察程序员的逻辑思维和算法设计能力。在这个问题中,一只猴子每天会吃掉一定数量的桃子,并且会留下一部分桃子供第二天食用。具体...

    关于猴子吃桃问题的数据结构课程设计报告

    关于猴子吃桃问题的数据结构课程设计报告,是一个典型的算法与数据结构应用实例,旨在通过解决一个趣味性的问题来提升学生对数据结构的理解和编程能力。猴子吃桃问题源于中国古代的一道数学趣题,通常涉及递归和动态...

    猴子吃桃子问题_猴子吃桃子问题_

    猴子吃桃子问题是一个经典的逆向思维问题,它涉及到数学计算和编程算法的运用。问题描述了一群猴子在连续的10天内吃桃子的过程,每天吃掉现有桃子的一半后再加一个,到第10天时只剩下一个桃子。我们的目标是通过这个...

    猴子吃桃问题:猴子第一天摘下若干个桃子.docx

    猴子吃桃问题是一个经典的数学问题,它涉及到递归和逆向思维的解决策略。这个问题描述了一个猴子每天吃桃的情景,从第10天仅剩一个桃子的情况开始,反推回第一天猴子摘了多少个桃子。我们可以通过编程来解决这个问题...

    猴子吃桃问题。编程实现求第一天共摘了多少桃子?

    猴子吃桃问题。猴子第一天摘下若干桃子,当即吃了一半,不过瘾又多吃了一个。第二天又将剩下的桃子吃了一半,又多吃了一个。以后每天都吃了前1天剩下的一半,再多一个。到第十天早上想吃时,见只剩下一个桃子了。

    源代码_猴子吃桃问题_

    "猴子吃桃问题"是一个经典的数学问题,也被称为“猴子与桃子”的递推问题。这个问题的核心在于通过逆向推理来解决,它涉及到数学中的递减序列和等比数列的知识点。 首先,我们知道在第10天时,猴子剩下了一个桃子。...

    c语言经典编程例如猴子吃桃问题

    本资源摘要信息涵盖了五个经典的C语言编程题目,包括猴子吃桃问题、回文数问题、杨辉三角问题、加密问题和平方数问题。每个题目都包含问题描述、程序分析和源代码实现。 一、猴子吃桃问题 猴子吃桃问题是一个经典...

    算法课设——猴子吃桃子问题

    猴子吃桃子问题。有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。用多种方法实现求出原来这群猴子共摘了多少个桃子。要求:1)采用数组数据结构实现上述求解;2)采用...

    猴子吃桃问题C程序

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

    基于java实现的解决猴子吃桃问题源码.rar

    基于java实现的解决猴子吃桃问题源码.rar基于java实现的解决猴子吃桃问题源码.rar基于java实现的解决猴子吃桃问题源码.rar基于java实现的解决猴子吃桃问题源码.rar基于java实现的解决猴子吃桃问题源码.rar基于java...

    猴子吃桃问题c语言.猴子吃桃问题c语言

    猴子吃桃问题是一个有趣的数学和编程问题,它涉及到递归算法的应用。问题描述如下:假设有一堆桃子,猴子每天会吃掉当前剩余桃子的一半再加一个,直到桃子吃完。我们要找出在第 n 天猴子还能吃到桃子的情况下,初始...

    猴子吃桃问题java.zip

    "猴子吃桃问题"是一个经典的动态规划问题,在编程领域中常被用来训练程序员解决递归与动态规划问题的能力。此问题的基本情景是这样的:一只猴子在河边捡到一堆桃子,它决定每天吃掉一部分桃子,且每天吃的桃子数量各...

    猴子吃桃问题的一种解答

    **猴子吃桃问题**是一种经典的编程问题,它涉及到组合数学中的排列组合思想。题目给出了一只猴子在一定天数内吃掉一定数量的桃子的情况,并规定了每天猴子吃桃子的数量范围。本问题的目标是找出所有可能的吃法。 ##...

    猴子吃桃问题.py

    猴子吃桃问题

    C++猴子吃桃问题的介绍及实现方法

    ### C++猴子吃桃问题的介绍及实现方法 #### 一、问题背景 猴子吃桃问题是一个非常典型的递归问题,也是计算机科学中常见的教学案例之一。问题的设定是这样的:一只猴子第一天摘了一些桃子,当天就吃掉了其中的一半...

    labVIEW求猴子吃桃子

    利用labVIEW进行编写的小程序 猴子吃桃子的问题 10天里猴子一共吃了多少个桃子呢

    C语言入门习题:猴子吃桃问题

    猴子第一天摘下若干个桃子,当即就吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半多一个。到第10天早上想再吃时,发现只剩下一个桃子了。求...

Global site tag (gtag.js) - Google Analytics