n的阶乘高精度算法【阶乘】
C语言实验——求阶乘(循环结构)
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
题目链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1123
从键盘输入任意一个大于等于0的整数n,然后计算n的阶乘,并把它输出。
输入
输入任意一个大于等于0的整数n。
输出
输出n!
示例输入
3
示例输出
6
找不到很符合要求的题目,以此题代之~
代码:
1 #include<iostream> 2 #include<string.h> 3 #include<stdio.h> 4 using namespace std; 5 int main() 6 { 7 int n,i,j; 8 cin>>n; 9 int f[100001]={0}; 10 f[0]=1; 11 for(i=2;i<=n;i++) 12 { 13 int up=0; 14 for(j=0;j<=100000;j++) 15 { 16 int s=f[j]*i+up; 17 f[j]=s%10; 18 up=s/10; 19 } 20 } 21 for(j=100000;j>=0;j--) 22 if(f[j]!=0) 23 { 24 for(;j>=0;j--) 25 cout<<f[j]; 26 } 27 cout<<endl; 28 return 0; 29 }