社区讨论

代码思路,不是事实,求dalao多多指教

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

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@m1rbgfi5
此快照首次捕获于
2024/10/02 11:37
去年
此快照最后确认于
2024/10/02 12:30
去年
查看原帖

完全平方数,各位数位和为质数 ... ...B3828(in my race)!

1.To calculate perfect square number, we must use: forfor.
1.要计算完全平方数,我们必须使用:forfor
CPP
bool isPSN(long long num) {
    for (long long i = 0; i < num; i++) {
        for (long long i = 0; i < num; i++) {
            if (i * j == num) return true;
        }
    }
    return false;
}
2.To get the sum of the digits is or not a prime number, use to_string and operator[] and stoi and... ...
2.要获取数字之和是否为素数,使用 to_stringoperator[] 以及 stoi 和··· ···
CPP
bool isPrimeNumber(long long num) {
    if (number <= 1) return false;
    if (number == 2) return true;
    if (number % 2 == 0) return false;
    for (int i = 3; i <= sqrt(number); i += 2) {
        if (number % i == 0) return false;
    }
    return true;
}
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);
}
3.want solve this qestion, we need to put things together.
3.要解决这个问题,我们需要把它们放在一起。
CPP
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";

回复

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

正在加载回复...