与えられた範囲で、連続している素数は2と3だけということは想像がつく。
それ以外は、素数でなければ1回で済むし、素数であれば-1して素数でなくす。
- class MagicDiamonds {
- public:
- long long minimalTransfer(long long n)
- {
- if (n == 1) return 1;
- if (n == 2) return 2;
- if (n == 3) return 3;
- for (lli m = 2; m * m <= n; ++m) {
- if (n % m == 0) return 1;
- }
- return 2;
- }
- };
0 件のコメント :
コメントを投稿