80哦哦哦
  • 板块P1480 A/B Problem
  • 楼主Avinun_
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/4/18 20:13
  • 上次更新2023/11/5 00:22:15
查看原帖
80哦哦哦
370863
Avinun_楼主2021/4/18 20:13
#include <bits/stdc++.h>
using namespace std;
string s;
int x;
int c[10005], a[10005], b[10005];

string jian(string as,string bs) {
	
	string cs;
	memset(a, 0, sizeof(a));
	memset(b, 0, sizeof(b));
	memset(c, 0, sizeof(c));
	if(as.size()<bs.size() || (as.size()==bs.size() && as<bs)) {
		cs+='-';
		as.swap(bs);
	} int al=as.size(), bl=bs.size();
	int cl=max(al,bl)+1;
	for(int i=1; i<=al; i++)
		a[i] = as[al-i]-'0';
	for(int i=1; i<=bl; i++)
		b[i] = bs[bl-i]-'0';
	for(int i=1; i<=cl; i++) {
		if(a[i]<b[i]) {
			a[i+1]--;
			a[i]+=10;			
		}
		c[i]=a[i]-b[i];
	}

	while(c[cl]==0 && cl>1) cl--;
	for(int i=cl; i>=1; i--)
		cs+= c[i]+'0';
	return cs;
	
}

string Add(int y,string as) {
	int al=as.size();
	memset(a, 0, sizeof(a));
	memset(b, 0, sizeof(b));
	memset(c, 0, sizeof(c));
	for(int i=1; i<=al; i++)
		a[i] = as[al-i]-'0';
	for(int i=1; i<=al; i++) {
		c[i] += a[i]*y;
		c[i+1] += c[i]/10;
		c[i] %=10;
	}
	string cs;
	int len=al;
	int t=c[len+1];
	while(t) {
		c[++len] = t%10;
		t/=10;
	}
	while(c[len]==0 && len>1) len--;
	for(int i=len; i>=1; i--)
		cs+= c[i]+'0';
	return cs;
	
}

int main() {
	cin >> s >> x;
	int n = s.size();
	for(int i=1; i<=n; i++) {
		a[i] = s[i-1] -'0';
	}
	int r=0;
	for(int i=1; i<=n; i++) {
		r = r*10+a[i];
		c[i] = r/x;
		r%= x; 
	} 
	int b=1;
	while(b<n && c[b]==0) b++;
	string ans;
	for(int i=b; i<=n; i++) cout << c[i]; 
	cout << ' ';
	cout << r;
	return 0;
}
2021/4/18 20:13
加载中...