余数相同问题

余数相同问题

一级知识点while循环和取余计算基础练习。

luogu-B2071

题目要求

描述

已知三个正整数 aa, bb, cc。现有一个大于 11 的整数 xx, 将其作为除数分别除 aa, bb, cc, 得到的余数相同。

请问满足上述条件的 xx 的最小值是多少?数据保证 xx 有解。

输入

一行,三个不大于 10000001000000 的正整数 aa, bb, cc,两个整数之间用一个空格隔开。

输出

一个整数,即满足条件的 xx 的最小值。

输入样例-1

300 262 205

输出样例-1

19


题目分析

  • 读取三个正整数 aa, bb, cc 的值
  • 初始化变量 ii22,作为除数
  • 遍历从 22 开始的所有整数 ii
  • 检查 aa, bb, cc 除以 ii 的余数是否相同
  • 如果相同,输出 ii 并退出循环

{% 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 认证学习微信公众号
GESP/CSP 认证学习微信公众号
Last updated on