HDU 2031 진수 변환(시 뮬 레이 션)

1790 단어 진 변환hdu2031
진 변환
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 39009    Accepted Submission(s): 21348
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

 
Author
lcy
 
Source
C 언어 프로 그래 밍 연습(5)
원본 링크:http://acm.hdu.edu.cn/showproblem.php?pid=2031
사고방식:시 뮬 레이 션 을 하면 되 고 높이 와 10 진법 을 상응하는 자모 로 바 꿀 수 있다.
마이너스 조심!!
AC 코드:
#include <stdio.h>
int main()
{
    int n,r,i,x,flag;
    int a[1000];
    while (scanf("%d %d",&n,&r)!=EOF)
    {
        flag=0;
        if (n<0)
        {
            n=-n;
            flag=1;
        }
        x=0;
        while (n)
        {
            a[x]=n%r;
            n/=r;
            x++;
        }
        while (x--)
        {
            if (flag)
            {
                printf("-");
                flag=0;
            }
            if (a[x]<10)
                printf("%d",a[x]);
            else printf("%c",55+a[x]);
        }
        printf("
"); } return 0; }

좋은 웹페이지 즐겨찾기