• hduoj1042N!


    View Code
    #include<stdio.h>
    #include<string.h>
    #define maxn 40000
    int c[maxn];
    int main()
    {
        int i,j,s,k,n;
        
        while(scanf("%d",&n)!=EOF)
        {
            memset(c,0,sizeof(c));
             c[0]=1; k=0;
           for(i=2;i<=n;i++)
           {   
               for(j=0;j<maxn;j++)
               {
                   s=c[j]*i+k;
                   c[j]=s%10;
                   k=s/10;
               }
           }
           for(i=maxn-1;i>=0;i--)
               if(c[i])break;
               for(j=i;j>=0;j--)
                   printf("%d",c[j]);
               printf("\n");
        }
        return 0;
    }

    N!

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


    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
  • 相关阅读:
    堆排序
    2019晋城一中开放日
    严格次小生成树
    遥远的国度
    noip2018游记
    Luogu1736 创意吃鱼法
    P3958 奶酪
    Luogu3385 负环
    Luogu1040 加分二叉树
    Luogu1007 独木桥
  • 原文地址:https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_2012_07_22.html
Copyright © 2020-2023  润新知