1 solutions
-
0
C++ :
#include <iostream> #include <vector> using namespace std; void Process(int n) { int sum; vector<int>v; v.push_back(1); for (int i = 2; i <= n; i++) { sum = 0; for (int j = 0; j < v.size(); j++) { sum = v[j] * i + sum; v[j] = sum %10; sum = sum /10; } while (sum >0) { v.push_back(sum%10); sum = sum /10; } } vector<int>::reverse_iterator rit;//倒转输出阶乘数值 for (rit=v.rbegin(); rit!=v.rend(); rit++) cout<<*rit; } int main() { int n; while (cin>>n) { Process(n); cout<<endl; } return 0; }Java :
import java.util.*; import java.math.BigInteger; public class Main{ public static void main(String[] args){ Scanner input = new Scanner(System.in); while(input.hasNextInt()){ int n = input.nextInt(); String a = "2"; String b = "1"; for(int i = 1;i < n;i++){ b = xx(b,a); a = yy(a,"1"); } System.out.println(b); } } public static String xx(String x,String y){ BigInteger result=null; BigInteger bigX=new BigInteger(x); BigInteger bigY=new BigInteger(y); result=bigX.multiply(bigY); return result.toString(); } public static String yy(String x,String y){ BigInteger result=null; BigInteger X=new BigInteger(x); BigInteger bb= new BigInteger(y); result = X.add(bb); return result.toString(); } }
- 1
Information
- ID
- 20183
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By