求c语言1000的阶乘

avatar
作者
猴君
阅读量:1

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

#include <stdio.h>  #define MAX_SIZE 10000  void 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位数字,省略了一部分)

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!