結果

問題 No.2750 Number of Prime Factors
ユーザー Today03Today03
提出日時 2024-05-17 07:52:54
言語 C++17
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 1,157 bytes
コンパイル時間 1,988 ms
コンパイル使用メモリ 205,852 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-05-17 07:52:58
合計ジャッジ時間 3,140 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,812 KB
testcase_01 AC 2 ms
6,940 KB
testcase_02 AC 2 ms
6,940 KB
testcase_03 AC 2 ms
6,944 KB
testcase_04 AC 2 ms
6,944 KB
testcase_05 AC 2 ms
6,944 KB
testcase_06 AC 2 ms
6,944 KB
testcase_07 AC 2 ms
6,944 KB
testcase_08 AC 2 ms
6,944 KB
testcase_09 AC 1 ms
6,944 KB
testcase_10 AC 2 ms
6,944 KB
testcase_11 AC 2 ms
6,940 KB
testcase_12 AC 2 ms
6,940 KB
testcase_13 AC 2 ms
6,944 KB
testcase_14 AC 2 ms
6,940 KB
testcase_15 AC 2 ms
6,940 KB
testcase_16 AC 2 ms
6,944 KB
testcase_17 AC 2 ms
6,940 KB
testcase_18 AC 2 ms
6,944 KB
testcase_19 AC 2 ms
6,944 KB
testcase_20 AC 2 ms
6,940 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int INF = 1e9 + 10;
const ll INFL = 4e18;

using LL = __int128_t;

istream &operator>>(istream &is, LL &x) {
    int c = is.peek();
    while (c == ' ' || c == '\n') {
        is.get();
        c = is.peek();
    }
    bool neg = false;
    if (c == '-') {
        neg = true;
        is.get();
    }
    x = 0;
    while (isdigit(is.peek())) {
        x = x * 10 + is.get() - '0';
    }
    if (neg) {
        x = -x;
    }
    return is;
}

ostream &operator<<(ostream &os, LL x) {
    if (x < 0) {
        os << '-';
        x = -x;
    }
    if (x == 0) {
        return os << '0';
    }
    string s;
    while (x > 0) {
        s += x % 10 + '0';
        x /= 10;
    }
    reverse(s.begin(), s.end());
    return os << s;
}

const vector<ll> primes = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97};

int main() {
    LL N;
    cin >> N;

    LL tmp = 1;
    int ans = 0;
    for (ll x : primes) {
        if (tmp * x > N) {
            cout << ans << endl;
            break;
        }
        tmp *= x;
        ans++;
    }
}
0