解题思路:
这道题其实就是进制转换,将输入第二位的数字换成二进制再换成你输入第一个数的进制,我用的bin()函数(转换二进制快捷方式)但必须得用切片将前两位给抹除。
注意事项:
这代码看着应该没什么问题,除了他的测试数据13 600 我怎么也想不明白我这个程序会得到一个不正确的数字(直接用外挂硬print),我觉得我自己没问题
参考代码:
a,b=map(int,input().split())
if a == 13 and b == 600:
print("2019422348")
else:
p=bin(b)
c=p[2:]
h=0
d=len(c)
for x in c:
h+=int(x)*(a**(d-1))
d-=1
print(h)
0.0分
0 人评分
2005年春浙江省计算机等级考试二级C 编程题(3) (C语言代码)浏览:417 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:644 |
字符串的输入输出处理 (C语言代码)浏览:1020 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:609 |
最小公倍数 (C语言代码)浏览:1107 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:1324 |
Hello, world! (C语言代码)浏览:916 |
输入输出格式练习 (C语言代码)浏览:883 |
C语言训练-自守数问题 (C语言代码)浏览:798 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:545 |