标题:C语言实验题——最节省材料
只看楼主
风雨123
Rank: 2
等 级:论坛游民
帖 子:84
专家分:65
注 册:2013-2-23
得分:0 
回复 7楼 Susake
这个#define M 1000+10什么意思?
 
2013-02-24 13:34
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
我随便拿个例子,比如 29 7 3
先将 29/7 = 4,也就是 4*7 + 0*3 余 1
现在要缩减7的数目,使得余数为0,也就是求 (n*7 + 1) % 3 = 0
(n*7 + 1) % 3 = 0
化简为
(n*7) % 3 = 2
n最小为2
所以最终结果就是 2×7 + 5×3 = 29

假如求的n大于一开始的29/7,那么就可以肯定不会有正好余0的情况出现,那就退而求其次,求余1的情况,若还没有,再球余2的情况……
比如求余1的情况就是 (n*7 + 1) % 3 = 1
化简为
(n*7) % 3 = 0
n最少值为0
所以若要求余1,则结果就是 4*7 + 0*3 = 29 - 1


[ 本帖最后由 rjsp 于 2013-2-25 10:35 编辑 ]
2013-02-25 10:25
a550783542
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-2-25
得分:0 
新手初来匝道
2013-02-25 16:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-399076-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.081591 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved