当前位置: 首页> 房产> 家装 > 编写小程序_一呼百应推广平台_北京网站优化_营销型网站策划

编写小程序_一呼百应推广平台_北京网站优化_营销型网站策划

时间:2025/8/13 12:46:44来源:https://blog.csdn.net/2401_88154394/article/details/147044332 浏览次数:2次
编写小程序_一呼百应推广平台_北京网站优化_营销型网站策划

题目描述

用高精度计算出 S=1!+2!+3!+⋯+n!(n≤50)S=1!+2!+3!+⋯+n!(n≤50)。

其中“!”表示阶乘,例如:5!=5×4×3×2×15!=5×4×3×2×1。

输入描述

输入一个正整数 nn。

输出描述

输出一个正整数 SS,表示计算结果。

输入输出样例

示例 1

输入

3

输出

9

#include <iostream>
using namespace std;

int main() {
    int i, A[1005] = {0}, B[1005] = {0}, n, j;
    // 使用 cin 进行输入
    cin >> n;
    A[0] = B[0] = 1;

    for (i = 2; i <= n; i++) {
        // 计算当前数的阶乘
        for (j = 0; j < 100; j++)
            B[j] *= i;
        // 处理进位
        for (j = 0; j < 100; j++)
            if (B[j] > 9) {
                B[j + 1] += B[j] / 10;
                B[j] %= 10;
            }
        // 累加阶乘结果
        for (j = 0; j < 100; j++) {
            A[j] += B[j];
            if (A[j] > 9) {
                A[j + 1] += A[j] / 10;
                A[j] %= 10;
            }
        }
    }
    // 找到结果的最高位
    for (i = 100; i >= 0 && A[i] == 0; i--);
    // 使用 cout 进行输出
    for (j = i; j >= 0; j--) cout << A[j];
    cout << endl;

    return 0;
}

关键字:编写小程序_一呼百应推广平台_北京网站优化_营销型网站策划

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: