༺ཌༀ傲世万物ༀད༻ 2025-03-16 17:57 采纳率: 28.6%
浏览 11

C++不数 0plus 代码

img


求C++解决代码,一直都是PA……
PA代码:


#include <iostream>
using namespace std;

int main() {
    long long n;
    cin >> n;
    if (n == 0 || n == 1) {
        cout << "1" << endl;
        return 0;
    }
    
    // 计算因子2和5的总数
    long long two_count = 0;
    for (long long i = 2; i <= n; i *= 2)
        two_count += n / i;
    
    long long five_count = 0;
    for (long long i = 5; i <= n; i *= 5)
        five_count += n / i;
    
    int extra = two_count - five_count;
    
    // 处理余下部分
    long long remainder = n % 20;
    long long start = (remainder == 0) ? (n - 19) : (n - remainder + 1);
    int product = 1;
    for (long long i = start; i <= n; ++i) {
        long long num = i;
        while (num % 2 == 0) num /= 2;
        while (num % 5 == 0) num /= 5;
        product = (product * (num % 10)) % 10;
    }
    
    // 处理多余的2的幂次
    int mod2[4] = {6, 2, 4, 8};
    if (extra > 0) {
        product = (product * mod2[extra % 4]) % 10;
    }
    
    cout << product << endl;
    return 0;
}
  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2025-03-16 17:57
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    C++解决方案

    你遇到的问题是C++中long long类型的变量在输出时总是显示为PA……PA,这是因为C++的iostream库对long long类型的变量的输出是使用科学记数法的。

    要解决这个问题,可以使用setprecision函数来设置输出的精度,或者使用fixed和showpoint函数来固定输出的格式。

    以下是一个示例代码:

    #include <iostream>
    using namespace std;
    
    int main() {
        long long n = 12345678901234567890;
        cout << fixed << setprecision(0) << n << endl; // 或者使用 cout << fixed << showpoint << n << endl;
        return 0;
    }
    

    在上面的代码中,我们使用fixed函数来固定输出的格式,然后使用setprecision函数来设置输出的精度为0,这样就可以输出long long类型的变量的值。

    如果你想要输出的值是带小数点的,可以使用setprecision函数来设置输出的精度,然后使用fixed函数来固定输出的格式。例如:

    #include <iostream>
    using namespace std;
    
    int main() {
        long long n = 12345678901234567890.123456;
        cout << fixed << setprecision(10) << n << endl;
        return 0;
    }
    

    在上面的代码中,我们使用setprecision函数来设置输出的精度为10,然后使用fixed函数来固定输出的格式,这样就可以输出long long类型的变量的值带小数点。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月16日