余数相同问题
一级知识点while
循环和取余计算基础练习。
luogu-B2071
题目要求
描述
已知三个正整数 , , 。现有一个大于 的整数 , 将其作为除数分别除 , , , 得到的余数相同。
请问满足上述条件的 的最小值是多少?数据保证 有解。
输入
一行,三个不大于 的正整数 , , ,两个整数之间用一个空格隔开。
输出
一个整数,即满足条件的 的最小值。
输入样例-1
300 262 205
输出样例-1
19
题目分析
- 读取三个正整数 , , 的值
- 初始化变量 为 ,作为除数
- 遍历从 开始的所有整数
- 检查 , , 除以 的余数是否相同
- 如果相同,输出 并退出循环
{% include custom/custom-post-content-inner.html %}
示例代码
#include <iostream>
using namespace std;
int main() {
int a, b, c; // 定义三个整数a, b, c,用于存储输入的三个正整数
cin >> a >> b >> c; // 从输入流中读取a, b, c的值
int i = 2; // 初始化变量i,用于作为除数
while (true) { // 无限循环,直到找到满足条件的i
if ((a % i == b % i) && (b % i == c % i)) { // 检查a, b, c除以i的余数是否相同
cout << i; // 如果相同,输出i
break; // 跳出循环
}
i++; // 如果不相同,i自增1,继续下一轮循环
}
return 0; // 返回0,表示程序执行成功
}
{% include custom/custom-post-content-footer.md %}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
“luogu-”系列题目可在 洛谷题库 在线评测。
“bcqm-”系列题目可在 编程启蒙题库 在线评测。
GESP/CSP 认证学习微信公众号

Last updated on