ABC032A - 高橋君と青木君の好きな数
#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; }
キーワード:最小公倍数・最大公約数・ユークリッドの互除法