高精度除法模板/高精度除以低精度(p1480)

P1480 A/B Problem

题目描述

输入两个整数 \(a,b\),输出它们的商。

输入格式

两行,第一行是被除数,第二行是除数。

输出格式

一行,商的整数部分。

输入输出样例 #1

输入 #1

10
2

输出 #1

5

说明/提示

\(0\le a\le 10^{5000}\)\(1\le b\le 10^9\)

AC代码

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6;
char a[maxn];
long long b,c[maxn],ai[maxn];
int clen;

void gaochu(char a[],long long b){
    int alen=strlen(a);
    for(int i=0;i<alen;i++){
        ai[i]=a[i]-'0';
    }
    long long d=0;
    for(int i=0;i<alen;i++){
        c[i]=(d*10+ai[i])/b;
        d=(d*10+ai[i])%b;
    }
    clen=0;
    while(c[clen]==0&&clen<alen-1) clen++;
}

int main(){
    cin>>a>>b;
    gaochu(a,b);
    for(int i=clen;i<strlen(a);i++){
        cout<<c[i];
    }
    return 0;
}
posted @ 2025-11-12 17:15  sadmax11  阅读(3)  评论(0)    收藏  举报