zoukankan      html  css  js  c++  java
  • hdu 2031 进制转换(栈思想的使用)

    进制转换

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 63039    Accepted Submission(s): 34261


    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
     
    Author
    lcy
     
    Source
     
    Recommend
    lcy   |   We have carefully selected several similar problems for you:  2035 2043 2036 2048 2049 
     
     
    ac代码:  (栈思想,先进后出)
     
     
     
     

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<cstdlib>
    #include<cmath>
    #include<algorithm>
    #include<vector>
    #include<queue>
    #include<stack>
    #define Max(a,b) ((a)>(b)?(a):(b))
    #define Min(a,b) ((a)<(b)?(a):(b))
    #define Swap(a,b,t) t=a,a=b,b=t
    #define Mem0(x) memset(x,0,sizeof(x))
    #define Mem1(x) memset(x,-1,sizeof(x))
    #define MemX(x) memset(x,0x3f,sizeof(x));
    using namespace std;
    typedef long long ll;
    const int inf=0x3f3f3f;
    const double eps=1e-12;
    stack <int> q;
    int main()
    {
    int n,d;
    while (cin>>n>>d){
    while (!q.empty())
    q.pop();
    if (n<0){
    cout<<"-";
    n=-n;
    }
    else if (!n){
    cout<<'0'<<endl;
    continue;
    }
    while (n){
    q.push(n%d);
    n/=d;
    }
    while (!q.empty()){
    int x=q.top();
    if (x>=10)
    printf("%c",'A'+x-10);     //cout<<'A'+x-10<<endl;         这个地方有坑,    这里   cout    输出的不是字符,而是整数.
    else
    cout<<x;
    q.pop();
    }
    cout<<endl;
    }
    return 0;
    }

  • 相关阅读:
    HDU 3833 YY's new problem ()
    从文件读入16进制数转化为10进制数再输出到文件中
    UESTC 1215 (思维题 旋转)
    HDU2067卡特兰数
    HDU2050离散数学折线分割平面
    cshell学习
    C++学习1
    QT学习1
    QT Creator常用快捷键
    Ubuntu14.04安装QT5.5
  • 原文地址:https://www.cnblogs.com/q1204675546/p/9721514.html
Copyright © 2011-2022 走看看