NYOJ【34】韩信点兵【数学】

来源:互联网 发布:java调用node.js 编辑:程序博客网 时间:2024/05/21 07:04

韩信点兵

时间限制:3000 ms  |  内存限制:65535 KB
难度:1
描述
相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100 。
输入
输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7)。例如,输入:2 4 5
输出
输出总人数的最小值(或报告无解,即输出No answer)。实例,输出:89
样例输入
2 1 6
样例输出

41


解析:

    转化成数学思想就是总人数分别对3 5 7取余的结果为a b c


程序如下:

#include<cstdio>#include<algorithm>using namespace std;int main(){int s,a,b,c;int flag=0;scanf("%d%d%d",&a,&b,&c);for(int i=10; i<=100; i++){if(i%3==a&&i%5==b&&i%7==c){s=i;flag=1;break;}}if(flag==1)   printf("%d\n",s);else   printf("No answer\n"); return 0;}


原创粉丝点击