题解 | 不需要进制转换的简单解法#整数与IP地址间的转换#

整数与IP地址间的转换

https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea?tpId=37&tqId=21256&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D37&difficulty=undefined&judgeStatus=undefined&tags=&title=

#输入
ip = input().split('.')
num = int(input())
#算法
num_n = 0
ip_n = [0] * 4
for i in range(len(ip)):
    num_n += int(ip[i])*(2**(24 - 8*i))
for j in range(len(ip_n)):
    ip_n[j] = num // (2**(24 - 8*j))
    num -= ip_n[j]*(2**(24 - 8*j))
print(num_n)
for k in range(len(ip_n)-1):
    print(str(ip_n[k]),end='.')
print(str(ip_n[3]))

全部评论

相关推荐

04-22 15:13
已编辑
Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务