在 Python 中查找没有外部包的函数的参数

假设我们有一个函数: xa 2 + yb 2 = xc 2 + yd 2。我知道这个等式中的 x 和 y。在不使用任何外部包的情况下,找到该方程的所有可能解的数量的最佳方法是什么:a、b、c 和 d。我不是在这里寻找超大数字,因为 x、y 和 a、b、c、d 的范围都是从 0 到 50。我尝试了唯一想到的事情:四个嵌套循环来查找这些参数它可以工作,但随着数字的增加,它的效率会降低。任何帮助,将不胜感激。



RISEBY
浏览 124回答 1
1回答

犯罪嫌疑人X

我不明白什么需要这么长时间;即使是蛮力也可以在一秒钟内完成。import timex = 2y = 5start = time.time()for a in range(51):    for c in range(a):        for d in range(51):            for b in range(d):                f = x * (a*a - c*c) - y * (d*d - b*b)                if f == 0:                    print(a, b, c, d)print(time.time() - start)输出:6 1 4 37 0 3 47 3 3 58 1 2 58 5 2 79 2 1 69 7 1 910 3 0 710 9 0 1111 1 1 711 4 1 811 11 1 1311 0 9 411 3 9 512 5 2 9...50 1 40 1950 9 40 2150 13 40 2350 27 40 3350 43 40 471.0240814685821533
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python