猴子分桃问题,R语言编程

2024-05-19 14:28

1. 猴子分桃问题,R语言编程

显然,最后一个猴子最少要分6个桃子
那么第四只就有6*4+1
y<-c(0,0,0,0,6)
for(i in 5:2){
 y[i-1]=y[i]*5+1
}

> y
[1] 3906  781  156   31    6

猴子分桃问题,R语言编程

2. 猴子分桃问题,用Java代码实现

设这一堆桃子至少有x个,先借给它们4个,5个猴子分别拿 了 a、b、c、d 、e个桃子(其中包括吃掉的一个),则可得:

      a=1/5*(x+4)
    b=1/5*4/5*(x+4)=4/5^2*(x+4)

    ....

e= 4^4/5^5*(x+4)
  e应为整数,而4的4次方不能被5的5次方整除,只有(x+4)应是5的5次方的倍数,所以
(x+4)=3125k(k取自然数)
当k=1时,x=3121
这样得出一个算式,设有n个猴子,即n-1的n-1次方除以n的n次方=x+n-1
以n为传入的参数,x为返回值
x=n的n次方-n-1