C语言韩信点兵(容易超时)

韩信点兵TimeLimit:1000MSMemoryLimit:65536KTotalSubmit:43Accepted:2Description韩信是刘邦手下一位杰出的... 韩信点兵 Time Limit:1000MS Memory Limit:65536K Total Submit:43 Accepted:2 Description 韩信是刘邦手下一位杰出的军事家,刘邦得天下,军事上全依靠他。在保守军事机密的时候,他常常能巧妙地运用数学问题。有句歇后语说:韩信点兵——多多益善。其具体做法就是,不断变换士兵的队形,然后只记录最后一列剩余的人数。例如命令士兵1-3报数,记录下最后一个士兵所报的数;命令士兵1-5报数,记录下最后一个士兵所报的数;命令士兵1-7报数,记录下最后一个士兵所报的数。这样韩信就能很快地计算出士兵的总人数。 有一天,汉高祖刘邦问大将军韩信御兵多少?韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人、17人一列余2人、19人一列余10人、23人一列余1人、29人一列余11人。 Input 要求由键盘输入A,B,C,D,E,F,G,H,a,b,c,d,e,f,g,h十六个数,分别代表每A人一列余a、每B人一列余b、每C人一列余c、每D人一列余D、每E人一列余e、每F人一列余f、每G人一列余g、每H人一列余h,其中A,B,C,D,E,F,G,H为互不相等的质数。输入数据为两行,每行H个数,每个数据间用空格分隔. 第一行8个数分别为A,B,C,D,E,F,G,H。第二行8个数分别为a,b,c,d,e,f,g,h Output 输出总兵士数,要求输出满足条件的最小的一个,但要满足8种排法的每一种排法至少可排一列。(保证给的数据,有结果且计算的结果不会超过2的63次方) Sample Input 3 5 7 13 17 19 23 29 1 2 4 6 2 10 1 11 Sample Output 1306792 展开
 我来答
次略太叔嘉惠
2020-06-23 · TA获得超过3895个赞
知道大有可为答主
回答量:3095
采纳率:33%
帮助的人:475万
展开全部
递归的思想,1个
队列
的话,3余1,明显就是3x+1,最小x=1;和为4
两个队列,5余2,,首先他要满足4+3x的形式,才能满足1,找最小的x使3x+4%5=2;5次以内必找到,和为7;
三个队列7+(3*5)x%7=4;7次必找到;可以得出最多只要计算A+B+C+D+E+F+G+H次的乘法和
除法
,不可能超1000MS。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式