蓝桥杯 阶乘计算


题目描述

给定一个正整数 n,求出 n! 的值。

输入描述

输入一个正整数 nn<=1000

输出描述

输出 n!

输入输出样例

示例

输入:10

输出:3628800

代码:

#include 
#include 
#define max 1000005
int a[max];
int main()
{
  int n,i,j,d,c;
  scanf("%d",&n);
  a[0]=1;
  for(i=2;i<=n;i++){
      c=0;
      for(j=0;j){
          d=a[j]*i+c;
          a[j]=d%10;
          c=d/10;
        }
    }
    for(i=max-1;i>=0;i--){
        if(a[i]){
            for(j=i;j>=0;j--){
                printf("%d",a[j]);
            }
        break;
        }
    }
  return 0;
}

参考链接:(5条消息) [蓝桥杯][基础练习]阶乘计算——题解(C语言)_m0_46549788的博客-CSDN博客_蓝桥杯阶乘计算c语言

题目链接:阶乘计算 - 蓝桥云课 (lanqiao.cn)

相关