1000!的阶层

1000!

#include<stdio.h>
#define N3 00//定义数组长度
int main()
{
  int a[N],i,j,k,n;
  for(i = 0;i<N;i++)
  {
    a[i] = 0;
  }
  a[0] =1 ;//第一位设为1
  k = 0;//第一位设为1
  for(i=1; i<=n; i++)
  {
    for(j = 0;j<=k;j++)
    {
      a[j]=a[j]*i//每一位与i相乘
    }
    for(j = 0; j<=k;j++)
    {
      if(a[j]>9)//判断是否需要进位
      {
        a[j+1] = a[j]/10;//高一位加上进位值
        a[j] = a[j]%10;//当前位保留个位数
        if(j==k) k++;//更新进位坐标
      }
    }
  }
  printf("%d!=",n);
  for(i=k;i>=0;i--)
   printf("%d",a[i]);
  printf("\n");

}
posted @ 2024-04-06 21:42  不会笑的孩子  阅读(3)  评论(0编辑  收藏  举报