韩信点兵问题通解

韩信点兵问题通解

吴旻
泰岩网络工作室

    设士兵总数为最少为S,有S除以3得z余a,S除以5得y余b,S除以7得x余c。即
    S=7x+c=5y+b=3z+a
    x,y,z,a,b,c均为>=0的整数
    
    易得,
    7x+c-b=5y
    7x+c-a=3z
    
    整理,
    x+(2x+c-b)/5=y
    2x+(x+c-a)/3=z
    
    移项,并记M=y-x和N=z-2x
    (2x+c-b)/5=y-x=M
    (x+c-a)/3=z-2x=N 推得,x=3N+a-c 并将x代入上式,有
    
    6N+2a-b-c=5M,整理并记为P=(M-N)
    
    N+2a-b-c=5(M-N)=5P, P为整数
    N=b+c-2a+5p, N>0且N<5, a<3, b<5, c<7, 且a,b,c>=0
    
    一般设P=0,方便求出最小的N,
    最小的N=b+c-2a
    若N<0,则不停+5,直到N>0且N<5;如果N>5,则不停-5,直到N>0且N<5。
    
    有,
    x=3N+a-c
    S=7x+c
    
    若P=0,则
    x=3(b+c-2a)+a-c=3b+2c-5a
    S=21b+15c-35a
    
    S+3*5*7*n,是此问题的通解,n为>=0的整数
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值