高精度除法------高精度除以低精度

【问题描述】

  输入两个正整数,求它们的商。

【样例输入】

62500000000000000000000000000000
25

【样例输出】

2500000000000000000000000000000

#include<iostream>
#include<cstring> 
using namespace std;
int main(){
    char a1[10001];
    int a[10001],b,c[10001];
    int x = 0;
    memset(a,0,sizeof(a));
    memset(c,0,sizeof(b));
    cin >> a1 >> b; 
    int lena;
    lena = strlen(a1);
    for(int i = 0;i <= lena; i++){
        a[i+1] = a1[i] - 48;
    }
    //核心代码 
    for(int i=1;i<=lena;i++){
        c[i] = (x*10+a[i])/b;
        x=(x*10+a[i])%b;
    }
    int lenc = 1;
    //删除前导的0 
    while(c[lenc]==0&&lenc<lena){
        lenc++;
    }
    //输出 
    for(int i=lenc;i<=lena;i++){
        cout << c[i];
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/Hankercat/p/9239606.html