乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > Power Query解答5个猴子分桃子的问题-excel数据分析

Power Query解答5个猴子分桃子的问题-excel数据分析

作者:乔山办公网日期:

返回目录:excel表格制作

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

这是个算法问题,网上搜索一下,有各种编程语言的解法,各种各样的思路,如果用Power Query来解答这个问题,其实可以借鉴这些思路。

穷举法是解决这类问题的基本方法,我们来分析一下这个问题:设桃子为x

规律:

  • x-1能被5整除,
  • 第一个猴子拿完后还剩下:m1=x-1-(x-1)/5
  • 第二个猴子拿完后还剩下:m2=m1-1-(m1-1)/5
  • 第二个猴子拿完后还剩下:m3=m2-1-(m2-1)/5
  • 第二个猴子拿完后还剩下:m4=m3-1-(m3-1)/5
  • 第二个猴子拿完后还剩下:m5=m4-1-(m4-1)/5
  • m5是一个能被5整除的数

我们可以定义一个剩余桃子的函数:

let

xx= (x)=>x-(x-1)/5-1

in

xx

Power Query解答5个猴子分桃子的问题

然后是定义一个函数y是这个函数5次嵌套:

Power Query解答5个猴子分桃子的问题

这第二个函数就是为了,计算最终的剩余的桃子,当然结果必须是整数,这个是时候对应的x就是我们要的这堆桃子的总数。

做个100万行的查询,来穷举法解题:

Power Query解答5个猴子分桃子的问题

那么判断为TRUE的就是我们的答案:

Power Query解答5个猴子分桃子的问题

符合答案的最小值是3121,在100万个桃子中有320个数符合这个题的要求。

更多Power Query 学习资料请参考:

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网