同志,84分最后一个测试点求助
  • 板块P1480 A/B Problem
  • 楼主loatic
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/12/29 22:53
  • 上次更新2024/12/29 23:02:24
查看原帖
同志,84分最后一个测试点求助
1627385
loatic楼主2024/12/29 22:53
#include<bits/stdc++.h>
using namespace std;
char s[50005];
struct num{
	int x[50005];
	int len;
	void read(){
		cin>>s;
		len=strlen(s);
		reverse(s,s+len);
		for(int i=1;i<=len;i++){
			x[i]=s[i-1]-'0';
		}
	}
	void print(){
		for(int i=len ;i>=1;i--){
			cout<<x[i];
		}
	}
}a,b,c;

num operator / (num &a,int &b)
{
	num c;
	memset(c.x,0,sizeof c.x);
	c.len=a.len;
	for(int i=c.len;i>=1;i--){
		c.x[i]+=a.x[i];
		if(i>1){
			c.x[i-1]+=c.x[i]%b*10;
		}
		c.x[i]/=b;
	}
	while(c.x[c.len]==0&&c.len>1) c.len--;
	return c;
}
int operator % (num &a,int &b)
{
	num c;
	memset(c.x,0,sizeof c.x);
	c.len=a.len;
	for(int i=c.len;i>=1;i--){
		c.x[i]+=a.x[i];
		if(i>1){
			c.x[i-1]+=c.x[i]%b*10;
		}
		c.x[i]/=b;
	}
	return (c.x[1]+a.x[1])%b;
}

int main()
{
	a.read();
	int bb;
	cin>>bb;
	c=a/bb;
	c.print();
	return 0;
}
2024/12/29 22:53
加载中...