60分求助!
  • 板块学术版
  • 楼主zhm20120707
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/10/22 15:43
  • 上次更新2023/10/27 06:30:37
查看原帖
60分求助!
754584
zhm20120707楼主2022/10/22 15:43

我不知哪里错了,老师不说,你们帮着看看吧

题目进入点这里 代码见下

#include<bits/stdc++.h>
using namespace std;
int main() {
	int B;
	int a[2001] = {0}, b[2001] = {0}, x[2001] = {0};
	int n = 0, ans = 0;
	cin >> B;
	char str[2001], str2[2001];
	cin >> str >> str2;
	for (int i = strlen (str) - 1; i >= 0; i--)
	{
		if (str[i] - '0' < 10)
		{
			a[n++] = str[i] - '0';
		}
		else
		{
			a[n++] = str[i] - 'A' + 10;
		}
	}
	n = 0;
	for (int i = strlen (str2) - 1; i >=0; i--)
	{
		if (str2[i] - '0' < 10)
		{
			b[n++] = str2[i] - '0';
		}
		else
		{
			b[n++] = str2[i] - 'A' + 10;
		}
	}
	for (int i = 0; i < max (strlen (str), strlen (str2)); i++)
	{
		x[i] = x[i] + a[i] + b[i];
		ans++;
		if (x[i] >= B)
		{
			x[i+1] += 1;
			x[i] -= B;
		}
	}
	if (x[ans] == 1)
	{
		ans++;
	}
	for (int i = ans - 1; i >= 0; i--)
	{
		if (x[i] >= B)
		{
			cout << char(x[i] + 'A' - 10);
		}
		else
		{
			cout << x[i];
		}
	}
	return 0;
}

谢谢各位大老,#(^-^)#

2022/10/22 15:43
加载中...