题目: N!
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
- 解决办法
阶乘问题的解决方法,对于初学者的我们最先想到的可能是用for循环,或者用递归。这两种蛮力法,在int和long int范围内能容纳12及12以内阶乘的结果,在long long范围内能容纳最多20的阶乘。由此我们可以知道,20以上的阶乘结果我们根本无法用蛮力法直接算出来。
以前每次遇到大数的阶乘问题就头疼,今天我终于学到了大数阶乘的算法。
其实大数阶乘我们要解决的问题就是如何将超过longlong的数呈现出来。既然整个结果超出范围,那么我们就想办法将结果分成符合范围的几段,然后按段输出。
#include<stdio.h>
int main()
{
int n;
int arr[10001];
<