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 }
View Code

 

你可能感兴趣的:(算法)