社区讨论

40分求助RE6个

B3828[NICA #2] 优秀正整数参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@m1rdkqiz
此快照首次捕获于
2024/10/02 12:36
去年
此快照最后确认于
2025/11/04 18:19
4 个月前
查看原帖
代码:
CPP
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <chrono>
using namespace std;
typedef unsigned long long ULL;
static bool isPSN(long long num) {
    for (long long i = 0; i < num; i++) {
        for (long long j = 0; j < num; j++) {
            if (i * j == num) return true;
        }
    }
    return false;
}
static bool isPrimeNumber(long long num) {
    if (num <= 1) return false;
    if (num == 2) return true;
    if (num % 2 == 0) return false;
    for (int i = 3; i <= sqrt(num); i += 2) {
        if (num % i == 0) return false;
    }
    return true;
}
static bool SOTDisPN(long long num) {
    string strNum = to_string(num);
    int sum = 0;
    for (int i = 0; i < strNum.size(); i++) {
        sum += stoi(to_string(strNum[i]));
    }
    return isPrimeNumber(sum);
}
static void solve() {
    unsigned long long l, r, ans = 0;
    cin >> l >> r;
    vector<int>goodnums(r - l);
    for (int i = l; i < r; i++) {
        if (isPSN(i) and SOTDisPN(i)) goodnums.push_back(i);
    }
    if (goodnums.size() != 0) {
        ans = goodnums[0];
        for (int i = 1; i < goodnums.size(); i++) {
            ans *= goodnums[i];
        }
    }
    cout << ans % 998244353 << "\n";
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    solve();
    return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...