首页 > 其他 > 详细

1022 D进制的A+B

时间:2020-02-16 18:41:04      阅读:49      评论:0      收藏:0      [点我收藏+]

使用了STL中的stack,常用操作的时间复杂度大都是O(1)。

总体比较水。考察进制转换的除基取余法。

#include"iostream"
#include<stack>
using namespace std;
int main() {
    int a,b,d,sum;
    cin>>a>>b>>d;
    stack<int> st;
    sum = a + b;
    if(sum == 0) //sum为0要特判 
        cout<<sum;
    while( sum !=  0) {//除基取余法
        st.push(sum%d);//把余数压入栈底。
        sum/=d;
    }
    while(st.empty() == false) {
        cout<<st.top();//访问栈顶元素
        st.pop();//弹出栈顶元素
    }
    return 0;
}

 

1022 D进制的A+B

原文:https://www.cnblogs.com/keep23456/p/12317319.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!