HDU 1042 N! (大数乘)

来源:互联网 发布:淘宝同款图片怎么处理 编辑:程序博客网 时间:2024/05/22 15:53

N!

Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 72460    Accepted Submission(s): 20943


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
123
 

Sample Output
126
 

Author
JGShining(极光炫影)
 

Recommend
We have carefully selected several similar problems for you:  1047 1063 1753 1316 1013 
#include<stdio.h>#include<string.h>#include<algorithm>#define MAX 100000using namespace std;int main(){    int n,a[MAX];    int i,j,k,count,temp;    while(scanf("%d",&n)!=EOF)    {        a[0]=1;        count=1;        for(i=1;i<=n;i++)        {            k=0;            for(j=0;j<count;j++)            {                temp=a[j]*i+k;                a[j]=temp%10;                k=temp/10;                }            while(k)//进位                 {                a[count++]=k%10;                k/=10;            }        }        for(j=MAX-1;j>=0;j--)                  if(a[j])            break;            for(i=count-1;i>=0;i--)            printf("%d",a[i]);            printf("\n");    }    return 0;}


0 0
原创粉丝点击