PAT-BASIC-1022-D进制的A+B

输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。

输入格式:

输入在一行中依次给出3个整数A、B和D。

输出格式:

输出A+B的D进制数。

输入样例:

123 456 8

输出样例:

1103

本质上就是一个十进制转化成其他进制
WA了一个漏洞{0 0 2}
#include <bits/stdc++.h>
//DEBUG 0 0 2
#define MAXN 1000+50
using namespace std;

int a, b, d;
stack<int> s;
int main()
{
    while(!s.empty()){
        s.pop();
    }
    scanf("%d%d%d", &a, &b, &d);
    int res = a+b;
    while(res){
        s.push(res%d);
        res /= d;
    }
    if(s.empty()){
        printf("0");
    }
    while(!s.empty()){
        printf("%d", s.top());
        s.pop();
    }
    return 0;
}
CAPOUIS'CODE

 

posted @ 2015-07-04 10:46  CAPOUIS  阅读(123)  评论(0)    收藏  举报