【题目描述】
淮安民间传说着一则故事——“韩信点兵”,其次有成语“韩信点兵,多多益善”。韩信带1500名兵士打仗,战死四五百人,站3人一排,多出2人;站5人一排,多出4人;站7人一排,多出6人。韩信马上说出人数:1049。如果我给你一些条件,你能给我满足条件的最小正整数么?
当然,这道题是简单的。给你的每组数据有三行数字,每行数字的第一个数是除数 d ,第二个数是余数 m,然后请你求出一个最小的正整数 n(n < 1000,000),此n能使这三行数字同时满足 n/d == x……m.
【输入格式】
第一行是数据的组数 nCase (n<=5),以下有3nCase行。每三行是一组数据,就是给你的三对数据。
【输出格式】
对于每组输入,输出一行,是所求得的最小正整数。
【样例输入】
2
3 2
5 4
7 6
9 2
7 3
6 5
【样例输出】
104
101
【分析】
直接枚举即可。
#include<cstdio>
int main(){
int t,n;
int d[3],m[3];
scanf("%d",&t);
while (t--){
for (int i=0;i<3;i++) scanf("%d%d",&d[i],&m[i]);
for (int n=1;n<1000000;n++)
if (n%d[0]==m[0] && n%d[1]==m[1] && n%d[2]==m[2]) { printf("%d\n",n);break; }
}
}