猴子分桃问题

话说有五个小矮人上山摘野果,摘回来后平均分,可是怎么也分不下去.因为分不平均.到了晚上,一个小矮人爬起来,从里面扔了一个,刚好能平均分成五份.然后他把自己的那份藏起来,就睡觉去了.第二个小矮个也爬了起来,也把果子扔了一个后刚好分成5,他也把自己那份藏了起来.然后睡觉,余下3 个小矮人都是这样做的,过程完全一样. 请问,最初这堆果子至少有多少个?

自己写了个方法,感觉效率还可以

C# Codes:

public static bool CountResult(int totalNumber, int cycleCount)

{

for (int i = 0; i < cycleCount; i++)

{

totalNumber--;

if (totalNumber % 5 == 0)

{

totalNumber -= totalNumber / 5;

CountResult(totalNumber, cycleCount - 1);

}

else

return false;

}

return true;

}

static void Main(string[] args)

{

DateTime startTime = DateTime.Now;

int i=6;

while(!CountResult(i,5))

{

i += 5;

}

Console.WriteLine("i's value is {0}/n",i);

DateTime endTime = DateTime.Now;

Console.WriteLine("Cost time:{0}",(endTime-startTime).ToString());

Console.ReadKey();

}

output:

i's value is 3121

Cost time:00:00:00:0039068

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值