分享

python编程练习

 xiaoyimin 2019-08-23

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

思路:可以从第五个猴子开始,从后往前推。最后一个猴子分成五份还多一个,假设最后一个猴子拿1个桃,最后至少有5*1+1=6个桃子。

请你试一试,编写程序计算原来有多少个桃子。

python编程练习-分桃子

参考答案思路及程序代码:

假设第五只猴子拿走j个桃,那么最后海滩上还剩x个桃,x=4*j,开始倒推,第五只猴子没拿之前海滩上就有x/4*5+1个桃子。

根据这个思路,我们从j=1开始,反推每只猴子拿桃之前海滩上桃子的个数,这个数需要满足一个条件就是能被4整除(上一只猴子拿走之后剩下的均分了4等份)如果每次桃子的个数都满足,那么就得到了结果。

#!/usr/bin/python# -*- coding: UTF-8 -*-if __name__ == '__main__': i = 0 #控制循环次数,(第五只到第一只) j = 1 #最后一个猴子拿走的桃子个数 x = 0 #剩下的桃子个数 while (i < 5) : x = 4 * j #第五只猴拿走后海滩剩下桃的个数 for i in range(0,5) : if(x%4 != 0) : break else : i += 1 x = x/4 * 5 +1 #上一只猴拿走后海滩剩下桃的个数 j += 1 print (x)

希望以上可以解决你们心中的一些疑惑,其中可能会有不对的需要改进的地方,或是觉得很是喜欢,欢迎留言哦。感觉还不错欢迎关注收藏转载哦 !!!笔芯

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多