话说有五个小矮人上山摘野果,摘回来后平均分,可是怎么也分不下去.因为分不平均.到了晚上,一个小矮人爬起来,从里面扔了一个,刚好能平均分成五份.然后他把自己的那份藏起来,就睡觉去了.第二个小矮个也爬了起来,也把果子扔了一个后刚好分成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