题目描述
给定一个正整数 n,求出 n! 的值。
输入描述
输入一个正整数 n,n<=1000。
输出描述
输出 n!
输入输出样例
输入:
10
输出:
3628800
最终代码
1. c/c++
#include <bits/stdc++.h>
using namespace std;
int A[10000] = {0}; //存结果,注意大的静态数组要定义在全局
int main(){
int n;
cin >> n;
A[0] = 1;
for(int i = 1;i <= n;i++){
int carry = 0; //进位
for(int j = 0;j < 10000;j++){
A[j] = A[j] * i + carry;
carry = A[j] / 10;
A[j] = A[j] % 10;
}
}
int last;
for(int i = 10000 - 1;i >= 0;i--){
if (A[i] != 0){
last = i;
break;
}
}
for(int i = last; i >= 0;i--)
cout << A[i];
return 0;
}
2. java
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
BigInteger s = new BigInteger("1");
for(int i = n; i >= 1; i--)
s = s.multiply(new BigInteger(String.valueOf(i)));
System.out.println(s);
}
}
}
3. python
N = int(input())
ans = 1
for i in range(1, N+1):
ans *= i
print(ans)