高精度除法模板/高精度除以低精度(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;
}

浙公网安备 33010602011771号