2135 - [数值问题]高精度除以低精度
时间限制 : 1 秒
内存限制 : 128 MB
高精度除以低精度(lowdiv/c/cpp)
【问题描述】
输入两个高精度正整数a和b(a位数<=200,b的位数<=9位),求a除以b的商的整数部分。
【输入格式】lowdiv.in
<span>输入共两行,分别为a和b。(输入数据保证a大于b)</span>
<span>【输出格式】lowdiv.out</span>
<span>输出共一行,表示<span style="font-family:'Microsoft Yahei';font-size:14px;line-height:21px;background-color:#F5F5F5;">a除以b的商的整数部分</span>。</span>
<span>【输入样例1】 </span><span><br />
9999999999999999999999999999999999123456789123456789
3333
<span style="line-height:21px;"></span>
<span>【输出样例1】</span>
37040740811118
<br />
<br />
题目输入
题目输出
输入/输出样例
输入格式
输出格式
C++解答
#include<cstdio> #include<cstdlib> #include<cstring> #include<string> #include<iostream> using namespace std; int main() { char a1[300]; int a[300],c[300]; long long b; gets(a1); scanf("%lld",&b); int lena=strlen(a1); for(int i=0;i<=lena-1;++i) { a[i+1]=a1[i]-'0'; } int x=0; for(int i=1;i<=lena;++i) { c[i]=(x*10+a[i])/b; x=(x*10+a[i])%b; } int lenc=1; while(c[lenc]==0&&lenc<lena) { lenc++; } for(int i=lenc;i<=lena;++i) { cout<<c[i]; } return 0; }