C语言实现的猴子分桃问题算法解决方案
更新时间:2016年10月19日 11:41:19 作者:Love满天星
这篇文章主要介绍了C语言实现的猴子分桃问题算法,较为详细的分析了猴子分桃问题算法的原理与通过递归算法解决问题的相关实现技巧,需要的朋友可以参考下
本文实例讲述了C语言实现的猴子分桃问题算法。分享给大家供大家参考,具体如下:
问题:
海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均 分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
程序:
#include<stdio.h>
int divided(int n, int m) //注意该递归函数的定义
{
if(n/5==0 || n%5!=1)return 0;
if(m==1) return 1;
return divided(n-n/5-1, m-1);
}
int main(int argc, char *argv[])
{
int n;
int m = 5;
for(n = 1; ; n++)
if(divided(n,m))
{printf("%d\n", n);
break;
}
}
程序运行结果为:3121
希望本文所述对大家C语言程序设计有所帮助。
相关文章
C++空间命名的使用
本文主要介绍了C++空间命名的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-01-01
opencv实现三帧差法解析
这篇文章主要介绍了opencv实现三帧差法的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2020-03-03
使用C语言解决字符串全排列问题
这篇文章主要介绍了使用C语言解决字符串全排列问题,文中包括了一道ACM相关的竞赛题目作为实例,需要的朋友可以参考下
2015-08-08
一文详解C++ 智能指针的原理、分类及使用
智能指针的本质就是使用一个对象来接管一段开辟的空间,这篇文章就来给大家介绍介绍C++智能指针的原理,分类及使用方法,文中有详细的代码示例,需要的朋友可以参考下
2023-05-05
使用C语言判断当前存储大小端问题
这篇文章主要介绍了如何使用C语言判断当前存储大小端问题,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
2024-02-02
C++日志库log4cplus的使用详解
C++实现的log4cplus日志库是一种易于使用的C ++日志记录API,可提供线程安全,灵活且任意粒度的日志管理和配置控制。这篇文章就来和大家讲讲log4cplus的使用吧
2023-03-03
C++使用泛型导致的膨胀问题
这篇文章主要介绍了C++使用泛型导致的膨胀,智能家居主机的嵌入式平台上使用C++进行开发。FLASH存储空间有限,这是必须要考虑的因素,一定要重视,下面我们一起进入文章看看详细内容
2021-11-11
C++中字符串与整型及浮点型转换全攻略
C++算法刷题等过程中经常会遇到字符串与数字类型的转换,在这其中虽然朴素的算法有不少,但是对于double等类型还是可以说遇到一些麻烦,所以今天就来说说使用C++标准库中的函数实现这些功能。感兴趣的小伙伴一起参与阅读吧
2021-09-09
最新评论