N! ---HDU 1042

N!

Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 9907    Accepted Submission(s): 2330

Problem Description
Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!
 

 

Input
One N in one line, process to the end of file.
 

 

Output
For each N, output N! in one line.
 

 

Sample Input
1
2
3
 

 

Sample Output
1
2
6
 

 

Author
JGShining(极光炫影)
#include<stdio.h>
void main(void)
{
    int b,c,e,s,x,d,m,n,i;
     int a[10000];
    while(scanf("%d",&n)!=EOF)
 {
         m=1; a[0]=1;
    for(x=2;x<=n;x++)
 {
        for(i=0;i<m;i++)
      a[i]=a[i]*x;
           for(d=0;d<m;d++)
     {
              if(a[d]>100000)
     {
                if(d<m-1)
                a[d+1]=a[d]/100000+a[d+1];
                else{
                    m++;
                    a[d+1]=a[d]/100000;
    }
                    a[d]=a[d]%100000;
     }
     }
    }
     printf("%d",a[m-1]);
     for(i=m-2;i>=0;i--)
        printf("%05d",a[i]);
            printf("/n");
    }
          
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值