zoukankan      html  css  js  c++  java
  • 杭电2031进制转换

    Problem Description
    输入一个十进制数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
     
     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <cmath>
     4 int a[32];
     5 int main()
     6 {
     7     int N, R, k;
     8     while(~scanf("%d%d", &N, &R))
     9     {
    10         k = 0;
    11         //memset(a, 0, sizeof(a));
    12         if(R > 16 || R < 2 || R == 10)
    13             continue;
    14         if(N < 0)    printf("-");
    15         while(N)
    16         {
    17             a[k++] = abs(N%R);
    18             N = abs(N/R);
    19         }
    20         if(R < 10)
    21         {
    22             for(int j = k-1; j >= 0; j--)
    23                 printf("%d", a[j]);
    24         }
    25         else
    26         {
    27             for(int j = k - 1; j >= 0; j--)
    28                 printf("%X",a[j]);//以十六进制输出 
    29         }
    30         printf("
    ");
    31     }
    32     return 0;
    33 }
  • 相关阅读:
    [saiku] 系统登录成功后查询Cubes
    216. Combination Sum III
    215. Kth Largest Element in an Array
    214. Shortest Palindrome
    213. House Robber II
    212. Word Search II
    211. Add and Search Word
    210. Course Schedule II
    分硬币问题
    开始学习Python
  • 原文地址:https://www.cnblogs.com/digulove/p/4721682.html
Copyright © 2011-2022 走看看