高精度除法

#include<iostream>
#include<vector>
using namespace std;
int main(){
    vector<int> a(10,0),c(10,0);
    a[0]=1;
    int n;
    cin>>n;
//    for(int i=m.size()-1;i>=0;i--){
//        a.push_back(m[i]-'0');
//    }
//    for(int i=n.size()-1;i>=0;i--){
//        b.push_back(n[i]-'0');
//    }
    int sum=0;
    int l;
    for(int j=1;j<=n;j++){
        sum=0;
        for(int i=0;i<a.size()||sum;i++){
            c[i]+=a[i]*j;
            sum+=c[i];
            c[i]=sum%10;
            sum=sum/10;
        }
        while(c.size()>1&&c.back()==0){
            c.pop_back();
        }
        for(int i=0;i<a.size();i++){
            a[i]=c[i];
            c[i]=0;
        }
        for(int i=0;i<a.size();i++){
        	l=a[i];
        	a[i]=a[a.size()-1-i];
        	a[a.size()-1-i]=l;
		}
        
        
    }
    for(int i=c.size()-1;i>=0;i--){
       cout<<a[i];
    }
    return 0;
}

  

posted @ 2024-06-14 19:57  王ys  阅读(5)  评论(0编辑  收藏  举报