进制转换 2025-2-18 11:11 | 195 | 0 | 理论技术 69 字 | 3 分钟 十进制转其他进制 #include <bits/stdc++.h> using namespace std; string s="0123456789ABCDEF"; void solve(int x,int m) { // 递归 if(x/m) solve(x/m,m); cout<<s[x%m]; // 非递归 stack<int> st; while (x) { st.push(x%m); x/=m; } while (!st.empty()){ cout<<s[st.top()]; st.pop(); } } int main() { int x,m; cin>>x>>m; solve(x,m); return 0; } 其他进制转十进制 #include <bits/stdc++.h> using namespace std; int n, m; string es = "0123456789ABCDEF"; int main() { cin >> n >> m; string s; cin >> s; int ans = 0; for (int i = 0; i < n; i++) { ans *= m; ans += es.find(s[i]); } cout << ans << '\n'; return 0; } 赞赏 算法进制递归