有用的阶乘

#include"stdio.h"
#include"stdlib.h"
 
void main()
{
 int data[10000]; // 储存的16进制
 int dig = 0;   // 阶乘结果位数
 int N;         // 要求的阶乘数
 int i, j;    // 循环变量

 printf("请输入你要求的阶乘数:");
 scanf("%d",&N);   //输入要求的阶乘数

 for(i = 1 ;i < 1000; i++)
  data[i] = 0;         // 初始化数组

 data[0]=1;     // 初始化阶乘结果位数
 
 for(i = 1 ; i <= N; i++)
 {
  printf("/n%d!=",i);

  for( j = 0 ; j <= dig ; j++)
  {//求阶乘
   data[j] = data[j] * i;
  }

  for( j = 0 ; j <= dig; j++)
  {  //判断是否进位
   if(data[j] > 9)
   {    
    data[j+1] =  data[j+1] +data[j]/10;
    data[j] = data[j] %10;

    if( j+1 > dig)
    {
     dig++;
    }
   }
  }
       // 输出
  for( j = dig ; j >= 0; j--)
   printf("%d",data[j]);

 }
 printf("/n");

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值