原题链接:转换的问题来了
能过的
def solve(a, n): temp = a if a < 0: a = -a stack = [] while a != 0: stack.append(a % n) a = a // n if temp < 0: print('-', end='') while stack: top = stack.pop() if top == 10: print('A', end='') elif top == 11: print('B', end='') elif top == 12: print('C', end='') elif top == 13: print('D', end='') elif top == 14: print('E', end='') elif top == 15: print('F', end='') else: print(top, end='') while True: try: a, n = map(int, input().split()) if a == 0: print(0) else: solve(a, n) print() except EOFError: break
不能过的
#include<bits/stdc++.h> using namespace std; #define int long long stack<int>q; void solve(int a,int n) { int temp; if(a<0) { temp=a; a=-a; } while(a!=0) { q.push(a%n); a=a/n; } if(temp<0) cout<<'-'; while(!q.empty()) { switch(q.top()) { case 10:cout<<'A';break; case 11:cout<<'B';break; case 12:cout<<'C';break; case 13:cout<<'D';break; case 14:cout<<'E';break; case 15:cout<<'F';break; default:cout<<q.top(); } q.pop(); } } signed main() { int a,n; while(cin>>a>>n) { if(a==0) cout<<0; else solve(a,n); cout<<endl; } return 0; }
大佬们有没有c++过的,求大佬的思路
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复