1172:求10000以内n的阶乘
/*#include <bits/stdc++.h> using namespace std; int main() { int n,sum=1; cin >> n; int a=n; for(int i=n-1;i>0;i--) { a=a*i; } cout<<a; return 0; }*/ #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int> a; a.push_back(1); int sum=0; for(int i=2;i<=n;i++){ for(int j=0;j<a.size()||sum;j++) { if(j>=a.size()){ a.push_back(0); } sum+=a[j]*i; a[j]=sum%10; sum/=10; } } for(int i=a.size()-1;i>=0;i--) { cout<<a[i]; } return 0; }

浙公网安备 33010602011771号