HDUOJ2031:進変換

著作権:qq836678589 https://blog.csdn.net/weixin_43924623/article/details/90521512

進変換

制限時間:1000分の2000 MS(Javaの/その他)メモリの制限:32768分の65536 K(Javaの/その他)
の合計提出(S):73111受理提出(S):39670

問題説明
入力進数Nは、Rの小数出力に変換します。

入力された
テストケースを複数備え、入力データ、各テストケースは、二つの整数N(32ビット整数)とR(2 <= R <=含有 16、R <> 10)。

出力の
各テストケース変換出力、ライン毎の各出力の後の数字。ルール番号Rが10より大きい場合、対応する16進の基準(例えば、10 A、等で表されます)。

サンプル入力
7 2
23 12
-4 3

サンプル出力
111
1B
-11

#include<iostream>
using namespace std;
int main(){
	int n,r,num[100],i;
	bool a;
	while(cin>>n>>r){
		i=0;
		a=false;
		if(n<0){
			a=true;
			n=-n;
		}
		while(n){
			num[i++]=n%r;
			n=n/r;
		}
		if(a){
			cout<<"-";
		}
		for(int j=i-1;j>=0;j--){
			if(num[j]<10)
			cout<<num[j];
			else
			printf("%c",num[j]+55);
		}
		cout<<endl;
	}
	return 0;
}

おすすめ

転載: blog.csdn.net/weixin_43924623/article/details/90521512