Python|十进制整数的反码
问题描述给每个非负整数 N 都有其二进制表示。例如,5 可以被表示为二进制 "101",11 可以用二进制 "1011" 表示,依此类推。注意,除 N = 0 外,任何二进制表示中都不含前导零。二进制的反码表示是将每个 1 改为 0 且每个 0 变为 1。例如,二进制数 "101" 的二进制反码为 "010"。给定十进制数 N,返回其二进制表示的反码所对应的十进制整数。示例1输入:5输出:2解释:5的二进制表示为“101”,其二进制反码为“010”,也就是十进制中的2 示例2输入:7输出:0解释:7的二进制表示为“111”,其二进制反码为“000”,也就是十进制中的0 示例3输入:10输出:5解释:10的二进制表示为“1010”,其二进制反码为“0101”,也就是十进制中的5。解决方案在这里小编告诉大家此题的思路,使用简单的for循环,判断语句,还有列表的增添,读取等基础方法就可以得到结果,以下就是小编解题的代码N = int(input(“N=”))a = bin(N) # 此时打印出来的字符串前面的字母是解释类别,所以需要下一行代码来取数字a = a[2:]b = []for i in a:if i == “1”:b.append(“0”)elif i == “0”:b.append(“1”)b = “”.join(b)res = int(b,2)print(res)结语在看了上面的解题思路和过程相信大家对这道题有了深刻的了解,总而言之,在我们解题的过程中要熟练的掌握基本语法,不论多难的题,要先有思考方向,在后续小编也会继续撰写相关简单题型的文章,从最基本的方式了解这些题型的结构和思考方式。经过了上面的学习,相信大家对转码的方法已经有所掌握,小编又在下面出一道简单的题,供大家思考学习。“我知道”答题挑战问给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
实习编辑:刘凤莲责编 :樂能力越强,责任越大。实事求是,严谨细致。(where2go团队)微信号:算法与编程之美