zoukankan      html  css  js  c++  java
  • NOJ1012-进制转换

    进制转换

    时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
    总提交 : 2214            测试通过 : 645 

    比赛描述

    将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10。


    输入

     

    多行。第一行指出以下一共有多少组数据,后续每行包含两个整数N和R,以空格分隔,-100000≤N≤100000,2≤R≤16,R≠10。

    输出

     

    多行。每行给出转换后的R进制数。

    样例输入

    3
    7 2
    23 12
    -4 3

    样例输出

    111
    1B
    -11

     

    提示

     

     

     

    题目来源

    GUOJ

     

     

    题目要求很简单,十进制转R进制,我用的递归,用栈也可以实现。

     

    #include <cstdio>
    
    void fun( int n, int r ) {
        if( n ) {
            fun( n / r, r );
            int temp = n % r;    
            if( temp >= 10 ) {
                printf( "%c", temp + 55 );
            }    
            else {
                printf( "%d", temp );
            }
        }
    }
    int main() {
        int n;
        int i;
        int a, r;
        scanf( "%d", &n );
        for( i = 0; i < n; i++ ) {
            scanf( "%d%d", &a, &r );
            if( a < 0 ) {
                a = -a;
                printf( "-" );
            }
            if( a == 0 ) {
                printf( "0" );
            }
            else
                fun( a, r );
            printf( "
    " );
        }
        return 0;
    }

     

     

  • 相关阅读:
    234. Palindrome Linked List
    Remove duplicates
    Unsorted, maximum ==> sorted
    Find one unique integer
    TwoSum
    13. Roman to Integer
    38. Count and Say
    543. Diameter of Binary Tree
    LuoguP1131 [ZJOI2007]时态同步 (树形DP,贪心)
    Luogu3177 [HAOI2015]树上染色 (树形DP)
  • 原文地址:https://www.cnblogs.com/lzjtdxfxl/p/5374963.html
Copyright © 2011-2022 走看看