c_cpp Factorial_of_Large_Number
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp Factorial_of_Large_Number相关的知识,希望对你有一定的参考价值。
#include<bits/stdc++.h>
using namespace std;
// #Math #Strings
string factorial(int n);
string multiply(int a, string b);
int main(){
int t;
cin>>t;
while(t--){
int n;
cin>>n;
cout<<factorial(n)<<endl;
}
return 0;
}
string factorial(int n){
string ans="1"; // factorial(1)=1
for(int i=2;i<=n;i++){
ans=multiply(i,ans);
}
return ans;
}
string multiply(int a, string b){
string ans;
int carry=0;
int i=b.size()-1;
while(i>=0){
int x=(a*(b[i]-'0'))+carry;
ans.insert(ans.begin()+0,(x%10)+'0'); // adding result at beginning
carry=x/10; // adding remaining digits to carry
i--;
}
while(carry!=0){ // adding remaining carry at beginning
ans.insert(ans.begin()+0,(carry%10)+'0');
carry=carry/10;
}
return ans;
}
以上是关于c_cpp Factorial_of_Large_Number的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp -_-公元前
c_cpp uv__next_timeout.c
c_cpp uv__handle_unref.c
c_cpp uv__handle_ref.c
c_cpp uv__handle_stop.c
c_cpp uv__handle_start.c