韩信点兵算法

//2.3 hanxin 韩信点兵
//solu1
//int a,b,c;
//int total;
//scanf("%d%d%d",&a,&b,&c);
/*for(int i=10;i<100;i++)
{
  if(i%3==a&&i%5==b&&i%7==c)
  printf("%d\n",i);
}*/
//solu2
 // total = c;
 //   
 //for(; total % 5 != b; total += 7);
 //for(; total % 3 != a; total += 35);


 // printf("%d\n", total); 


//printf("Time used=%.2lf\n",(double)clock()/CLOCKS_PER_SEC);


//solu3 中国余数定理
//刘邦出的这道题可用现代语言这样表述"一个正整数被3除时余2
//被5除时余3被7除时余2如果这数不超过100求这个数。" 
//《孙子算经》中给出这类问题的解法用现代汉语说明就是首先找出能
//被5与7整除而被3除余1的数70被3与7整除而被5除余1的数21被3
//与5整除而被7除余1的数15。所求数被3除余2则取数70×2=140140是
//被5与7整除而被3除余2的数。所求数被5除余3则取数21×3=6363是
//被3与7整除而被5除余3的数。所求数被7除余2则取数15×2=3030是
//被3与5整除而被7除余2的数。又140+63+30=233由于63与30都能被3
//整除故233与140这两数被3除的余数相同都是余2同理233与63这两
//数被5除的余数相同都是3233与30被7除的余数相同都是2。所以233
//是满足题目要求的一个数。而3、5、7的最小公倍数是105故233加减105
//的整数倍后被3、5、7除的余数不会变从而所得的数都能满足题目的要求。
//由于所求仅是一小队士兵的人数这意味着人数不超过100所以用233减去
//105的2倍得23即是所求。


//
//先找出被5和7整除而被3除余1的最小数 70 
//再找出被3和7整除而被5除余1的最小数 21
//再找出被3和5整除而被7除余1的最小数 15
//temp=70*a+21*b+15*c 即为满足余数条件的数 
//再根据所求的数的实际范围来确定 ans=temp(+ or _)3*5*7*n
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值