在 Python 中检查数字奇数位和偶数位数字的乘积是否相等
假设我们有一个数字 n。我们必须检查奇数位数字的乘积和偶数位数字的乘积是否相同。
因此,如果输入类似于 n = 2364,则输出将为 True,因为奇数位数字的乘积为 2 * 6 = 12,偶数位数字的乘积为 3 * 4 = 12,它们是相同的。
为了解决这个问题,我们将遵循以下步骤:
- 如果 num < 10,则
- 返回 False
- odd_place := 1,even_place := 1
- 当 num > 0 时,执行
- d := num 的最后一位数字
- odd_place := odd_place * d
- num := (num/10) 的商
- 如果 num 等于 0,则
- 中断
- d := num 的最后一位数字
- even_place := even_place * d
- num := (num/10) 的商
- 如果 odd_place 等于 even_place,则
- 返回 True
- 返回 False
示例
让我们看看以下实现以获得更好的理解:
def solve(num): if num < 10: return False odd_place = 1 even_place = 1 while num > 0: d = num % 10 odd_place *= d num = num//10 if num == 0: break d = num % 10 even_place *= d num = num//10 if odd_place == even_place: return True return False num = 2364 print(solve(num))
输入
2364
输出
True
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP