2135 - [数值问题]高精度除以低精度

通过次数

0

提交次数

0

时间限制 : 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】&nbsp;</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;
	
}