描述
一个十进制自然数,它的七进制与九进制表示都是三位数,且七进制与九进制的三位数码表示顺序正好相反。编程求此自然数,并输出显示。
输入
无。
输出
三行:
第一行是此自然数的十进制表示;
第二行是此自然数的七进制表示;
第三行是此自然数的九进制表示。样例输入
(无)样例输出
(不提供)
代码如下:
# 十进制转七进制函数 def func1(num): if num==0: return 0 res="" while num>0: s=num%7 num=num//7 res=res+str(s) return "".join(reversed(res)) # 十进制转九进制函数 def func2(num): if num==0: return 0 res="" while num>0: s=num%9 num=num//9 res=res+str(s) return res[::-1] for i in range(100,1000): if len(func1(i))==3 and len(func2(i))==3 and func1(i)[::-1]==func2(i): print(i) print(func1(i)) print(func2(i))
tips:for i in range(100,1000): , 题目说它的七进制与九进制表示都是三位数,所以将循环范围range缩小为range[100,1000),即100~999,能取到100,不能取到1000,只能取到999,即range范围start能取到,end只能取到end-1。