满红,不知道为什么后面的0都被吃了
查看原帖
满红,不知道为什么后面的0都被吃了
372653
yaozhijiandeyeye楼主2020/11/29 19:37
#include<bits/stdc++.h>
using namespace std;
int n,m,a[10001],len,b[10001];
long long sjz;
char str[10001];
short int char_to_int(char str)
{
	if(str>='0'&&str<='9')
	{
		return str-48;
	}
	else
	{
		return str-'A'+10;
	}
}
int main()
{
	cin>>n;
	cin>>str;
	cin>>m;
	len=strlen(str);
	for(int i=0;i<len;i++)
	{
		a[i]=char_to_int(str[i]);
	}
	for(int i=0;i<len;i++)
	{
		sjz+=(a[i]*(pow(n,i)));
	}
	int k=0;
	while(sjz)
	{
		b[k]=sjz%m;
		sjz/=m;
		k++;
	}
	for(int i=0;i<k;i++)
	{
		if(b[i]<10)
		{
			cout<<b[i];
			continue;
		}
		else
		{
			cout<<(char)b[i]+'A'-10;
		}
	}
}

输入

10
1010000000000
10

输出

101
2020/11/29 19:37
加载中...