言語「text (cat)」で AC を取れる数少ない問題の一つ
問題概要
正の整数 が与えられる。
のどれで割っても 1 あまる整数 ( 以上 以下) を一つ求めよ。
制約
解法 (1)
の最大公倍数を として、 が答えになる。似た発想をする問題として、次のやつがあった。
#include <bits/stdc++.h> using namespace std; long long GCD(long long a, long long b) { if (b == 0) return a; else return GCD(b, a % b); } long long LCM(long long a, long long b) { long long g = GCD(a, b); return a / g * b; } int main() { long long N; cin >> N; long long res = 1; for (int n = 1; n <= N; ++n) res = LCM(res, n); cout << res + 1 << endl; }
解法 (2)
別解というほどでもないけど、 のときの答えは、 のすべての場合の上位互換なので、その数値を 1 個出力するだけでも OK。
AtCoder 言語別 AC 数ランキングで、text (cat) 部門を目指している方はぜひ!!
2329089562801