factorial of large numbers

#include <stdio.h>
#include 
<stdlib.h>
#include 
<string.h>

int main()
{
    
int n = 1;
    scanf(
"%d",&n);
    
int a[20000];
    
int carry;
    
int i;
    
int digit = 1;
    a[
0= 1;
    
int temp;
    
for(i = 2; i <= n; i++)
    
{
          carry 
= 0;
          
for(int j = 0; j < digit; j++)
          
{
                  temp 
= a[j] * i + carry;
                  a[j] 
= temp % 10;
                  carry 
= temp / 10;
          }

          
while(carry)
          
{
                      a[digit
++= carry % 10;
                      carry 
/= 10;
          }

    }

    
for(i = digit - 1; i >= 0; i--)
    
{
          printf(
"%d",a[i]);
    }

    printf(
"\n");
    system(
"pause");
}

posted on 2012-08-02 22:05 三少_爷 阅读(77) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2012年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

留言簿

随笔分类

随笔档案

My Website

搜索

最新评论

阅读排行榜

评论排行榜