码迷,mamicode.com
首页 > 其他好文 > 详细

南阳oj 韩信点兵

时间:2018-07-22 20:48:38      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:int   break   ==   end   space   sum   中国剩余定理   其他   速算   

/*#include<iostream>
using namespace std;
int main ()
{
int a,b,c;
int sum;
cin>
cin>>a>>b>>c;
for(int i=1;i<100;i++)
{
if(i%3==a&&i%5==b&&i%7==c)
{
cout<<i<<endl;
break;
}
}
return 0;
}
*/
#include<iostream>
using namespace std;
int main ()
{
int a,b,c;
int sum;
cin>>a>>b>>c;
sum=a*70+b*21+c*15;
int flag=3*5*7;
while(sum>=flag)
sum=sum-flag;
cout<<sum<<endl;
return 0;
}

 

用了两种方法,一个是简单的遍历,因为题目中给出的数据范围是10~100,遍历也不复杂

第二种是看的网上大佬的博客,用了中国剩余定理。

以此类推到按照其他方式排队时,根据余出来的人,也可以快速算出总人数。

南阳oj 韩信点兵

标签:int   break   ==   end   space   sum   中国剩余定理   其他   速算   

原文地址:https://www.cnblogs.com/huanya/p/9351232.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!