跳转到内容

Saas44714. 九进制转十进制

Saas44714. 九进制转十进制

最近更新

蓝桥杯

问题描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

九进制正整数 (2022)9(2022)_9 转换成十进制等于多少?

代码

方法一:使用 Python 内置函数int()

直接利用int()函数指定进制转换:

decimal = int('2022', 9)
print(decimal) # 输出:1478

方法二:手动计算每一位的权值

通过遍历每一位数字,计算其对应的权值并累加:

num = "2022"
base = 9
result = 0
​
for i in range(len(num)):
   digit = int(num[i])
   power = len(num) - i - 1  # 计算当前位的权值指数
   result += digit * (base ** power)
​
print(result)  # 输出:1478

计算过程分解

  • 2×93=2×729=14582 \times 9^3 = 2 \times 729 = 1458

  • 0×92=0×81=00 \times 9^2 = 0 \times 81 = 0

  • 2×91=2×9=182 \times 9^1 = 2 \times 9 = 18

  • 2×90=2×1=22 \times 9^0 = 2 \times 1 = 2

累加结果: 1458+0+18+2=14781458 + 0 + 18 + 2 = 1478

两种方法均得到十进制结果 1478。