高精度除法 900000000/100000000得了个0 就wa1个点
查看原帖
高精度除法 900000000/100000000得了个0 就wa1个点
750986
jerrybrown楼主2022/7/20 20:56
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e6;
char s[MAXN];
int a1[MAXN],a2[MAXN],a3[MAXN];
void f(int a[],char s[])
{
	a[0]=strlen(s);
	for(int i=1;i<=a[0];i++)
	{
		a[i]=s[a[0]-i]-'0';
	}
}
void print(int a[])
{
	for(int i=a[0];i;i--)
		printf("%d",a[i]);
	printf("\n");
}
void big_divide(int *a,int b,int *c)
{
	int r=0;
	for(int i=a[0];i;i--)
	{
		r=r*10+a[i];
		c[i]=r/b;
		r%=b;
	}
	c[0]=a[0];
	while(c[0]>1&&!c[c[0]])
		c[0]--;
	//return r;
}
int main()
{
	int b; 
	scanf("%s",s);
	f(a1,s);
	scanf("%d",&b);
	big_divide(a1,b,a3);
	print(a3);
	return 0;
}
2022/7/20 20:56
加载中...