吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1606|回复: 9
收起左侧

[求助] python中算术穷举法的代码问题

[复制链接]
天津饭不吃饺子 发表于 2020-2-18 15:06
y = 1

while y < 10 :

    x = 1
    while x < 10 :
        a = x * 10 + y
        b = y * 10 + x
        if a * 45 == 50 * b :
              print('Y为', y ,'时, X的数值是: ' , x )
        x = x + 1

    y = y + 1


想问问这里哪里出了问题呀,运行之后得不出结果

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

井右寺 发表于 2020-2-18 16:49
因为在这个定义域内无值啊
(10x+y)*45 = (10y+x)*50
落花萧然 发表于 2020-2-18 16:52
跑了一下,应该是没有符合的数

y = 1

while y < 10 :
    x = 1
    while x < 10 :
        a = x * 10 + y
        b = y * 10 + x
        if a * 45 == 50 * b :
            print('Y为', y ,'时, X的数值是: ' , x )
        x = x + 1
        
    y = y + 1
print('无结果')
落花萧然 发表于 2020-2-18 16:52
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
========================= RESTART: F:\Python\test.py =========================
无结果
>>>
落花萧然 发表于 2020-2-18 17:01
完善下:

y = 1
count=0
while y < 10 :
    x = 1
    while x < 10 :
        a = x * 10 + y
        b = y * 10 + x
        if a * 45 == 50 * b :
            print('Y为', y ,'时, X的数值是: ' , x )
            count=count+1
        x = x + 1
        
    y = y + 1
if count==0:
    print('无结果')
else:
    print('共有',count,'个结果')
ymhld 发表于 2020-2-18 18:36
1 1 495 550 False
2 1 945 600 False
3 1 1395 650 False
4 1 1845 700 False
5 1 2295 750 False
6 1 2745 800 False
7 1 3195 850 False
8 1 3645 900 False
9 1 4095 950 False
1 2 540 1050 False
2 2 990 1100 False
3 2 1440 1150 False
4 2 1890 1200 False
5 2 2340 1250 False
6 2 2790 1300 False
7 2 3240 1350 False
8 2 3690 1400 False
9 2 4140 1450 False
1 3 585 1550 False
2 3 1035 1600 False
3 3 1485 1650 False
4 3 1935 1700 False
5 3 2385 1750 False
6 3 2835 1800 False
7 3 3285 1850 False
8 3 3735 1900 False
9 3 4185 1950 False
1 4 630 2050 False
2 4 1080 2100 False
3 4 1530 2150 False
4 4 1980 2200 False
5 4 2430 2250 False
6 4 2880 2300 False
7 4 3330 2350 False
8 4 3780 2400 False
9 4 4230 2450 False
1 5 675 2550 False
2 5 1125 2600 False
3 5 1575 2650 False
4 5 2025 2700 False
5 5 2475 2750 False
6 5 2925 2800 False
7 5 3375 2850 False
8 5 3825 2900 False
9 5 4275 2950 False
1 6 720 3050 False
2 6 1170 3100 False
3 6 1620 3150 False
4 6 2070 3200 False
5 6 2520 3250 False
6 6 2970 3300 False
7 6 3420 3350 False
8 6 3870 3400 False
9 6 4320 3450 False
1 7 765 3550 False
2 7 1215 3600 False
3 7 1665 3650 False
4 7 2115 3700 False
5 7 2565 3750 False
6 7 3015 3800 False
7 7 3465 3850 False
8 7 3915 3900 False
9 7 4365 3950 False
1 8 810 4050 False
2 8 1260 4100 False
3 8 1710 4150 False
4 8 2160 4200 False
5 8 2610 4250 False
6 8 3060 4300 False
7 8 3510 4350 False
8 8 3960 4400 False
9 8 4410 4450 False
1 9 855 4550 False
2 9 1305 4600 False
3 9 1755 4650 False
4 9 2205 4700 False
5 9 2655 4750 False
6 9 3105 4800 False
7 9 3555 4850 False
8 9 4005 4900 False
9 9 4455 4950 False


[Python] 纯文本查看 复制代码
    while x < 10 :
        a = x * 10 + y
        b = y * 10 + x
        print (x,y,45*a,50*b,(a * 45 == 50 * b))


确实是没有符合条件的,
ymhld 发表于 2020-2-18 18:37
Y为 80 时, X的数值是:  91

[Python] 纯文本查看 复制代码
y = 1

while y < 110 :

    x = 1
    while x < 110 :
        a = x * 10 + y
        b = y * 10 + x
        #print (x,y,45*a,50*b,(a * 45 == 50 * b))
        if a * 45 == 50 * b :
              print('Y为', y ,'时, X的数值是: ' , x )
        x = x + 1

    y = y + 1
 楼主| 天津饭不吃饺子 发表于 2020-2-19 08:46
ymhld 发表于 2020-2-18 18:36
1 1 495 550 False
2 1 945 600 False
3 1 1395 650 False

谢谢师兄的回答
 楼主| 天津饭不吃饺子 发表于 2020-2-19 08:47

谢谢师兄
 楼主| 天津饭不吃饺子 发表于 2020-2-19 08:48
井右寺 发表于 2020-2-18 16:49
因为在这个定义域内无值啊
(10x+y)*45 = (10y+x)*50

谢谢师兄
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 20:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表