洛谷 B4355:[GESP202506 一级] 值日 ← 最小公倍数(三种方法)

【题目来源】
https://www.luogu.com.cn/problem/B4355

【题目描述】
小杨和小红是值日生,负责打扫教室。小杨每 m 天值日一次,小红每 n 天值日一次。今天他们两个一起值日,请问至少多少天后,他们会再次同一天值日?

【输入格式】
第一行,一个正整数 m,表示小杨的值日周期;
第二行,一个正整数 n,表示小红的值日周期。

【输出格式】
一行,一个整数,表示至少多少天后他们会再次同一天值日。

【输入样例】
4
6

【输出样例】
12

【数据范围】
对于所有测试点,保证 1≤m,n≤100。

【算法分析】
典型的求"最小公倍数"的题目。

【算法代码一】

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int main() {
    int m,n,t=1;
    cin>>m>>n;
    while(1) {
        if(t%m==0 && t%n==0) {
            cout<<t;
            break;
        }
        t++;
    }
    return 0;
}

/*
in:4 6
out:12
*/

【算法代码二】

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int main() {
    int m,n;
    cin>>m>>n;
    cout<<m/__gcd(m,n)*n;

    return 0;
}

/*
in:4 6
out:12
*/

【算法代码三】

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int gcd(int a,int b) {
    if(b==0) return a;
    return gcd(b,a%b);
}

int main() {
    int m,n;
    cin>>m>>n;
    cout<<m/gcd(m,n)*n;

    return 0;
}

/*
in:4 6
out:12
*/

【参考文献】
https://www.luogu.com.cn/problem/solution/B4355

相关推荐
nju_spy15 天前
力扣每日一题(11.10-11.29)0-1 和 k 整除系列
python·算法·leetcode·前缀和·单调栈·最大公约数·0-1背包
heeheeai3 个月前
辗转相除法(欧几里得算法)的证明
算法·最大公约数
hnjzsyjyj5 个月前
洛谷 P13014:[GESP202506 五级] 最大公因数
最大公约数
大桔骑士v1 年前
【算法学习笔记】34:扩展欧几里得算法
算法·acm·数论·最大公约数·扩展欧几里得算法
xuchaoxin13751 年前
公约数@公因数@互素@最大公约数@公约数相关性质定理@辗转相除法@欧几里得法
最大公约数
IT 青年1 年前
信息安全数学基础(7)最小公倍数
数学·信息安全·最小公倍数
摆烂小白敲代码1 年前
小小GCD、LCM拿下拿下
c语言·数据结构·c++·算法·最大公约数·gcd·lcm
闻缺陷则喜何志丹2 年前
【最大公约数 排序】2344. 使数组可以被整除的最少删除次数
c++·算法·leetcode·排序·最大公约数·最少·被整除
阿明62 年前
求最大公约数的几种常见的方法 【详解】
c语言·算法·最大公约数