PAT乙级1022
題目鏈接
https://pintia.cn/problem-sets/994805260223102976/problems/994805299301433344
題解
很簡(jiǎn)單,參考十進(jìn)制轉(zhuǎn)二進(jìn)制的方法,除二取余至商為0。
這里要注意:需要處理a+b等于0的情況(參考了https://blog.csdn.net/m0_37285185/article/details/68936069,我又沒(méi)發(fā)現(xiàn)邊界……My bad,this is not so me.)
// PAT BasicLevel 1022 // https://pintia.cn/problem-sets/994805260223102976/problems/994805299301433344#include <iostream> #include <stack> #include <string> using namespace std;string numBaseConversion(int num,int base);int main() {// 獲取a、b和dint a,b,base;cin >> a >> b >> base;// 進(jìn)制轉(zhuǎn)換,輸出結(jié)果cout << numBaseConversion(a+b,base);//system("pause");return 0; }// 將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換為base(1,10]進(jìn)制的字符串 string numBaseConversion(int num, int base) {stack<char> charStack;string res="";// 處理num為0的情況if(num==0){return "0";}// 處理num非0的情況while(num>0){charStack.push(num%base+'0');num/=base;}while (!charStack.empty()){res+=charStack.top();charStack.pop();}return res; }作者:@臭咸魚(yú)
轉(zhuǎn)載請(qǐng)注明出處:https://www.cnblogs.com/chouxianyu/
歡迎討論和交流!
轉(zhuǎn)載于:https://www.cnblogs.com/chouxianyu/p/11309264.html
總結(jié)
- 上一篇: MM的Windows 7 登录密码忘记之
- 下一篇: (Easy) FizzBuzz Leet