洛谷 P1480 A/B Problem(高精除以低精)
题目描述
输入两个整数a,b,输出它们的商(a<=105000,b<=109)
输入格式
两行,第一行是被除数,第二行是除数。
输出格式
一行,商的整数部分
输入样例
10
2
输出样例
5
#include<cstdio>
#include <cstring>
using namespace std;
int a[10000];
int y, l=0, yushu, shang,f=0;
int main()
{
char c=getchar();
while(c>='0' && c<='9')
{
l++;
a[l]=(c-'0');
c=getchar();
}
//scanf("%s",a);
//l=strlen(a);
scanf("%d",&y);
for (int i=1;i<=l;i++)
{
yushu=a[i]%y;//第i位的余数
shang=a[i]/y;//第i位的商
a[i]=shang;
a[i+1]+=yushu*10;//把余数弄到下一位
}
for (int i=1;i<=l;i++)
{
if (f==0 && a[i]>0) f=1;
if (f==1) printf("%d",a[i]);
}
return 0;
}
- 看看代码中的注释吧。。。
- 高精除以高精在洛谷上评测的是一道黑题(注意!是黑题!!!),所以。。。我不会