目录
前两天在看一个公众号时发现了一个比较有意思的问题,题目如下:
题目:
五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了个数相等的五堆,多出一只;于是,它吃掉了一个,拿走了一堆。第二只猴子起来一看,只有四堆桃,于是把四堆合在一起,分成相等的五堆,又多出一个;然后,它也吃掉了一个,拿走了一堆。剩下的三只猴子也都是这样分的。问:这堆桃至少有多少个?
然后我就拿着这个题目去找教数学的室友,室友听完了说:“有点麻烦,不算。”然后,俺就开始回屋去想解决办法。
诚然,正如我室友所言,这道题有点麻烦,逻辑很清晰,很好做,只是过程繁琐,机械地重复着(目前我还没想到太好的办法,只能暴力解题),而这,却正是程序设计的强项,一个程序可以极短时间完成大量的计算任务,而我们只需要负责思考怎么算,其他的交给计算机就好~
第一次看到这个题目的时候我想的是循环套循环来解决,for循环疯狂嵌套。。。。。。最后放弃了
C语言版本:
虽然最近一直在用Python,但由于之前用了几年的C,用C来解决问题变成了一种习惯,因此本次也是先写了一个C语言版本:(我觉得我算的是对的哈,如果不对还请指正)