原题链接:转换的问题来了
能过的
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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复