韩信点兵

【题目描述】
淮安民间传说着一则故事——“韩信点兵”,其次有成语“韩信点兵,多多益善”。韩信带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; }
    }
}
  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值