You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

满足各位数字乘积等于自身的两位数有哪些?如何用Python实现?

满足「各位数字乘积等于自身」的两位数及Python实现

一、满足条件的两位数情况

两位数可以拆成十位数字a(1-9)和个位数字b(0-9),即这个数等于10a + b。题目要求a*b = 10a + b。

把等式整理变形:
a*b - 10a - b = 0
进一步推导为(a-1)(b-10) = 10

挨个尝试a的取值:

  • a=1时,左边为0,不等于10,不成立;
  • a=2时,计算得b=20,超出个位数范围;
  • a从3到9时,算出的b要么大于9,要么不是整数,都不符合要求。

结论:10到99之间不存在满足「各位数字乘积等于自身」的两位数。

二、修正后的Python代码

你原代码的判断逻辑错误,应该改为判断「十位数字×个位数字等于当前数」,修正后的代码如下:

for num in range(10, 100):
    first_digit = num // 10
    second_digit = num % 10

    if first_digit * second_digit == num:
        print(num)

运行这段代码不会有任何输出,因为确实不存在符合条件的数。

三、原代码问题说明

你写的if first_digits == second_digits是在判断十位和个位数字相等,这和题目要求的「各位数字乘积等于自身」完全无关,因此无法筛选出目标数字。

内容的提问来源于stack exchange,提问作者Carla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 06:40:22