感觉没懂,有人能讲讲吗
查看原帖
感觉没懂,有人能讲讲吗
450246
Eleveslaine楼主2023/10/29 11:34
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,tn,r;
string ans;
int main()
{
	cin >> n >> r;
	tn=n;
	do
	{
		int m=n%r;
		if(m<0)
			m-=r,n+=r;
		if(m>=10)
			ans+=char(m-10+'A');
		else
			ans+=char(m+'0');
		n/=r;
	} while(n);
	reverse(ans.begin(),ans.end());
	printf("%d=%s(base%d)\n",tn,ans.c_str(),r);
	return 0;
}

这个 if(m<0) m-=r,n+=r; 什么原理啊。

2023/10/29 11:34
加载中...