항 저 우 전기 2031 진법 전환
1981 단어 hdu 항 저 우 전기 2031 진법 전환
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 34076 Accepted Submission(s): 18775
Problem Description
10 진수 N 을 입력 하여 R 진수 출력 으로 변환 합 니 다.
Input
입력 데 이 터 는 여러 개의 테스트 인 스 턴 스 를 포함 하고 모든 테스트 인 스 턴 스 는 두 개의 정수 N(32 비트 정수)과 R(2<=R<=16,R<>10)을 포함 합 니 다.
Output
모든 테스트 인 스 턴 스 출력 변환 후의 수 를 위해 출력 마다 한 줄 을 차지 합 니 다.R 이 10 보다 크 면 해당 하 는 숫자 규칙 은 16 진법(예 를 들 어 10 은 A 로 표시 하 는 등)을 참고 합 니 다.
Sample Input
7 2
23 12
-4 3
Sample Output
111
1B
-11
#include<iostream>
using namespace std;
int main()
{
int N, R;
int a[1001];
while((cin>>N>>R)&& (R <= 16 && R >= 2))
{
int n;
if(N < 0)
{
cout<<"-";
N = -N;
}
if(N == 0)
{
cout<<"0"<<endl; continue;
}
int i = 0;
while((N != 0))
{
n = N % R;
a[i] = n;
N = N/R;
i++;
}
for(int j = i-1; j >= 0; j--)
{
if(a[j] < 10) cout<<a[j];
if(a[j] >= 10) cout << (char)(a[j] - 10 + 'A') ;
}
cout<<endl;
}
return 0;
}