一开始用的string,会发现基数是大于10的时候就不行了。乖乖用vector吧。
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b;
vector<string> s, rver;
scanf ("%d %d", &a, &b);
while (a != 0) {
s.push_back(to_string(a % b));
a /= b;
}
rver = s;
reverse(rver.begin(), rver.end());
if (s == rver) printf ("Yes\n");
else printf ("No\n");
for (int i = 0; i < rver.size(); i++) {
if (i != 0) printf (" ");
printf ("%s", rver[i].c_str());
}
}
这篇博客探讨了在处理大于10的基数时,使用C++中的string遇到的问题,并推荐改用vector来解决。代码示例展示了如何将一个数除以另一个数,将余数逆序输出,检查是否为回文数,并打印结果。
129

被折叠的 条评论
为什么被折叠?



