1. 程式人生 > >藍橋杯之N進位制轉換為R進位制

藍橋杯之N進位制轉換為R進位制

#include <iostream>
#include <cstdio>
#include<algorithm>
using namespace std;
char a[105];
int main()
{
	int N,R,ans;
	cin>>N>>R;
	//負數情況 
	if(N<0)
	{
		cout<<"-";
		N=-N;
	}
	int m=0;
	while(N)
	{
		ans=N%R;
		if(ans<10)
		{
			a[m++]='0'+ans;
		}
	    if(ans>10)
	    {
	    	a[m++]='A'+ans-10;
		}
		N/=R;
	}
        //判斷n為0的情況
	if(m==0)
	cout<<0;
        //逆序輸出
	for(int i=m-1;i>=0;i--)
	{
		cout<<a[i];
	}
	cout<<endl;
	return 0;
}