よじろめ覚書

私の理解度重視のソースコードです。

ABC032A - 高橋君と青木君の好きな数

問題:A - 高橋君と青木君の好きな数

#include <iostream>
using namespace std;

#define FOR(i, a, b) for (int i = (a); i <= (b); ++i)

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

int lcm(int a, int b) {
    return a * b / gcd(a, b);
}

int main(void) {
    int a, b, n, ret;

    scanf ("%d", &a);
    scanf ("%d", &b);
    scanf ("%d", &n);
    ret = lcm(a, b);
    FOR(i, 1, 10000) {
        if (ret * i >= n) {
            printf ("%d\n", ret * i);
            break;
        }
    }

    return 0;
}

キーワード:最小公倍数・最大公約数・ユークリッドの互除法