创新算法,据说是 创新工厂的算法题 有兴趣的瞧瞧

abcde五人打渔,打完睡觉,a先醒来,扔掉1条鱼,把剩下的分成5分,拿一份走了;b再醒来,也扔掉1条,把剩下的分成5份,拿一份走了;然后cde都按上面的方法取鱼。问他们一共打了多少条鱼,写程序和算法共打了多少条鱼
static void Main(string[] args) { for (int n = 1; n < 10000; n++) { int a = (n - 1) / 5; int b = (n - a - 2) / 5; int c = (n - a - b - 3) / 5; int d = (n - a - b - c - 4) / 5; int e = (n - a - b - c - d - 5) / 5; int aa = (a * 5 + 1); int bb = b * 5 + 2 + a; int cc = c * 5 + 3 + a + b; int dd = d * 5 + 4 + a + b + c; int ee = e * 5 + 5 + a + b + c + d; if (aa == n && bb == n && cc == n && dd == n && ee == n) { Console.Write("总共条数: "+ n +" a: "+ a +" b: "+ b +" c: "+ c +" d: "+ d +" e: "+ e+"\n"); } } Console.WriteLine("增大n"); Console.Read(); }
欢迎大家一起讨论找出最优算法
Tags: 

延伸阅读

最新评论

发表评论