大数阶乘
大数阶乘
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
- 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?
- 输入
- 输入一个整数m(0<m<=5000)
- 输出
- 输出m的阶乘,并在输出结束之后输入一个换行符
- 样例输入
-
50
- 样例输出
-
30414093201713378043612608166064768844377641568960512000000000000
01.#include<iostream>02.#include<cstdio>03.usingnamespacestd;04.05.intmain(intargc,char* argv[])06.{07.staticinta[17500]={0,1};08.intm,i,j,len=1,tem,jin;09.scanf("%d",&m);10.for(i=2;i<=m;i++)11.{12.jin=0;13.for(j=1;j<=len;j++)14.{15.tem=a[j]*i+jin;16.a[j]=tem%10;17.jin=tem/10;18.if(j==len&&jin!=0)19.len++;20.}21.}22.for(i=len;i>=1;i--)23.{24.printf("%d",a[i]);25.}26.printf("\n");27.return0;28.}
浙公网安备 33010602011771号