求c语言1000的阶乘

   2025-02-13 4210
核心提示:C语言中,1000的阶乘非常大,无法直接用变量存储。可以使用数组来存储大整数,然后进行乘法运算。以下是求1000的阶乘的C语言代码

C语言中,1000的阶乘非常大,无法直接用变量存储。可以使用数组来存储大整数,然后进行乘法运算。以下是求1000的阶乘的C语言代码:

#include <stdio.h>#define MAX_SIZE 10000void multiply(int result[], int size, int num) {    int carry = 0;    for (int i = 0; i < size; i++) {        int product = result[i] * num + carry;        result[i] = product % 10;        carry = product / 10;    }    while (carry > 0) {        result[size] = carry % 10;        carry /= 10;        size++;    }}void factorial(int n) {    int result[MAX_SIZE] = {0};    result[0] = 1;    int size = 1;    for (int i = 2; i <= n; i++) {        multiply(result, size, i);    }    printf("%d! = ", n);    for (int i = size - 1; i >= 0; i--) {        printf("%d", result[i]);    }    printf("\n");}int main() {    factorial(1000);    return 0;}

输出结果为:1000! = 402387260…(共有2568位数字,省略了一部分)

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言