猴子偷桃c语言编程软件,c语言经典算法——猴子偷桃问题

本文介绍了猴子偷桃问题的算法分析,通过C语言编程解决这一经典问题。通过递推公式和循环判断,找出满足条件的最小桃子数。此外,文章还提及了其他C语言经典算法,如判断闰年、多维矩阵转一维矩阵等。
摘要由CSDN通过智能技术生成

题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

算法分析://初始桃子数为sum

第一次:sum=5*x1+1

第二次:4*x1=5*x2+1

第三次:4*x2=5*x3+1

第四次:4*x3=5*x4+1

第五次:4*x4=5*x5+1

第五次分配结束:剩下4*x5个桃子,而x5>=1,故i=4*x5>=4 。每次向上推j=(i/4)*5+1;i=j;每次上推结束后判断j%4是否等于0,如果为0则继续上推,否则更新i,直到找到能够完成五次上推的整数i,最后可以得到最初的桃子数。

C语言程序:

#include

int main(int agrc, char*agrv[])

{

int i, m, j, k, count;

for (i = ; i

/*i为5个猴子分配桃子后最后剩余的桃子,必须为4的倍数,然后以此为基础,

向上推5次,如果刚好能够推到第五次,则此剩余的桃子数i是满足条件的,否则换一个

剩余的桃子数,直到找到符合条件的最小剩余桃

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值