【牛客网】ACM模式进制转换

【⽜客⽹】ACM模式进制转换
开始看到多⾏输⼊,以为要⼀次性将所有的案例全部输⼊
while True:
try:
strall = input().split('\n')
for strIn in strall:天下故事会2012
strIn_change = strIn[2:]
num =0
cal=0
for i in strIn_change[::-1]:
if i >='A' and i <='Z':
num +=((ord(i) - ord('A')) +10)* (16**cal)
cal+=1
else:
num += int(i)* (16 ** cal)
cal+=1
print(num)
except:
break
注意:进制转化为Unicode码
再进⾏相减
直接⽤format() 去转化,是不⾏的,可能浮点数的计算涉及到了⼀些近似运算
num=input()
indexnum = num.index('.')
num_b = num[:indexnum]
num_after = num[(indexnum+1):]
if int(num_after[0:1])>=5:
print(int(num_b)+1)
else:
print(int(num_b))
其实这个思路不难,⾃⼰畏惧了
可以先写函数再调⽤
def find_factors(number):
"""
Print prime factors.
:param number: <int> number
:return: <None>dtfd
"""
# 初始化is_prime变量为True,表⽰是质数
is_prime = True
# 查质数因⼦
北邮ipv6
for i in range(2, int(number ** 0.5 + 2)):  # 适当增加
if number % i ==0:
is_prime = False
呼伦贝尔学院学报
print(str(i), end=" ")
find_factors(int(number / i))# 递归继续查
break
# 如果输⼊的数字本⾝就是质数,则直接输出(这也是递归出⼝)if is_prime:
print(str(number), end=" ")# 最后⼀⾏
return
try:
# 接收输⼊的整数
国际能源机构
number = int(input())
# 如果输⼊的整数不符合正整数要求,抛出异常
if number <=0:
raise Exception  # 这啥意思??抛出异常
# 调⽤⾃定义的find_factors函数,打印结果
find_factors(number)
# 对于程序中抛出的任何异常,捕获后程序直接结束
except Exception as e:
exit()
凭着记忆去写⼀遍,还是容易出错
def find_factor(num):
isN = True  # 每调⽤⼀次都需要
for i in range(2, int(num**0.5 +2)):
if num % i ==0:  # 如果说为4 的话,其实在2这个就除尽了            isN = False
print(str(i),end=' ')
find_factor(int(num/i))
break
if isN:
print(str(num) ,end=' ')
return
动物的运动方式
try:
num = int(input())
find_factor(num)
except:
exit()

本文发布于:2024-09-22 14:21:44,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/471104.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:进制   抛出   质数   函数   案例   查找
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议