信息学奥赛c++语言:余数相同问题
已知三个正整数a,b,c。现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同。请问满足上述条件的x的最小值是多少?一行,三个不大于1000000的正整数a,b,c,两个整数之间用一个空格隔开。一个整数,即满足条件的x的最小值。
·
题目描述
已知三个正整数a,b,c。现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同。请问满足上述条件的x的最小值是多少?数据保证x有解。
输入
一行,三个不大于1000000的正整数a,b,c,两个整数之间用一个空格隔开。
输出
一个整数,即满足条件的x的最小值。
样例输入
300 262 205
样例输出
19
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
// 开始一个 for 循环,循环变量 i 从 2 开始,到 a 结束(包含 a)。
// 这里的目的是从 2 开始依次检查每个数,看是否满足特定条件。
for(int i=2;i<=a;i++)
{
// 判断 a 对 i 取余的结果、b 对 i 取余的结果以及 c 对 i 取余的结果是否都相等。
// 如果相等,说明找到了一个满足条件的数 i。
if(a%i==b%i&&b%i==c%i)
{
cout<<i; // 输出满足条件的最小的 i。
break; // 使用 break 语句跳出循环,因为只需要找到第一个满足条件的数。
}
}
return 0;
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)