时间:2021-05-22
两位数13和62具有很有趣的性质,把它们个位数字和十位数字对调, 其乘积不变,
即
13 * 62
31 * 26
编程序求共有多少对这种性质的两位数,个位与十位相同的不在此列
如11、22 重复出现的不在此列 如 1362与6213
count = 0for i in range(11, 100): first_left = i // 10 first_right = i % 10 if first_left == first_right: #减少程序循环次数,因为后面的 for j in range(i + 1, 100) continue # 已经解决了11、22 重复出现的不在此列 和 13*62与62*13不在队列 for j in range(i + 1, 100): #遍历出数字并找出个位和十位 second_left = j // 10 second_right = j % 10 if second_left == second_right: #同理减少循环次数 continue newfirst = first_right * 10 + first_left newsecond = second_right * 10 + second_left if i * j == newfirst * newsecond: #进行if判断 print('{} * {} = {} * {}'.format(i, j, newfirst, newsecond)) count += 1print(count)补充知识:Python反转三位整数有几种方法?
废话不多说,开始今天的题目:
问:说说Python反转三位整数有几种方法?
答:这是leetcode上的一道编程算法题,感觉还是蛮经典的,今天就拿出来给大家分享一下!给出一个3位的正整数,你需要将这个整数中每位上的数字进行反转。例如:输入: 123,输出: 321 。大家先不看下面答案,看看如果是自己,可以想出几种Python方式来解决!
下面分别来说说几种实现的方式:
1、取余取整方式
class Test: def reverseInteger(self, number): g = number%10 #取出个位数 s = (int(number/10))%10 #取出十位数 b = int(number/100) #取出百位数 return g*100+s*10+bif __name__ == "__main__": ts = Test() print (ts.reverseInteger(123)) #输出结果:3212、使用栈的方式
class Test: def reverseInteger(self, number): number = str(number) # 模拟入栈 l = list(number) result = "" while len(l) > 0: result += l.pop() # 模拟出栈 return int(result)if __name__ == "__main__": ts = Test() print (ts.reverseInteger(123)) # 输出结果:3213、使用切片的方式
class Test: def reverseInteger(self, number): number=str(number) result=number[::-1] #python中切片的特殊用法 result=(int(result)) return resultif __name__ == "__main__": ts = Test() print (ts.reverseInteger(123))4、整数转字符串,反转字符串,然后再转整数
class Test: def reverseInteger(self, x): plus_minus = "" reverse_x = "" if x < 0: plus_minus = "-" x = -x for i in str(x): reverse_x = i + reverse_x reverse_x = plus_minus + reverse_x if int(reverse_x) > pow(2, 31) - 1 or int(reverse_x) < pow(-2, 31): return 0 return int(reverse_x)if __name__ == "__main__": ts = Test() print (ts.reverseInteger(123)) #输出结果:321以上是我分享的4种方式,大家还有其它的方式吗?上面代码都已经经过我亲自测试,可以直接使用!希望能给大家一个参考,也希望大家多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后
【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所
实例一:题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有
在编辑excel的时候想要使用mid函数,如何使用呢?其实就是数字各个位数求和的函数,如何将数字各个位数相加求和呢?下面讲解具体的mid函数的使用方法。