OneCoder Avatar
OneCodercoderli.com · 960 篇博文
一级

C++ 算法考级专栏

真题分析、矩阵探测、递归回溯与基础语法

🎨 视觉封面

【GESP】C++一级练习 luogu-B2071, 余数相同问题

📅 2024-11-18·✍️ OneCoder·计算中...·⏱️ 3 分钟
#GESP#C++#基础语句

一级知识点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 并退出循环

示例代码

C++ 15 行
#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,表示程序执行成功
}

💡 OneCoder 资源指引

所有代码开源上传至 GitHub:yummy-code 仓库 · GESP 专题站:GESP WIKI

🤝 技术交流与答疑

欢迎加入:C++ GESP/CSP 考级答疑群(688906745)Java/Python交流群(982860385),点击可直接加群。

📚

猜你想读 · 相关文章推荐

OneCoder

OneCoder (lihongzheshuai)

一个中年人的自留地,记录学习 C++、GESP/NOI、Java、Python 与算法架构的心得体会。本站唯一网址:coderli.com

读者讨论与留言

0 条讨论
✨ 支持点击留言直接回复 · Markdown 引用格式
💬 还没有读者留言,快来成为第一个讨论者吧!