python - 求这样的4个自然数p、q、r、s(p<=q<=r<=s),使得一下等式成立:1/p+1/q+1/r+1/s=1。
PHP中文网
PHP中文网 2017-04-18 09:27:36
0
4
1184
PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(4)
刘奇

Penyelesaian ganas;
Integer adalah 10,000 kali lebih mudah digunakan daripada nombor titik terapung

for p in range(1,100):
    for q in range(p,100):
        for r in range(q,100):
            for s in range(r,100):
                if p * q * r + p * q * s + p * r * s + q * r * s == p * q * r * s:
                    print(p,q,r,s)
Peter_Zhu

Keganasan, mengikut algoritma ia hanya sepatutnya ganas.
Tetapi terdapat banyak cara untuk menggunakan keganasan.

  1. Selepas mendarab kedua-dua belah (pqrs), anda mendapat $$ qrs+prs+pqs+pqr=pqrs $$, anda boleh kekerasan tiga daripadanya dan mengira yang keempat.

  2. Susun formula di atas untuk mendapatkan $$ ps(q+r)+qr(p+s)=pqrs $$ $$ qr(p+s)=ps[qr-(q+r )] $$
    $$ frac{p+s}{ps}=frac{qr-(q+r)}{qr} $$

Dengan cara ini, anda hanya perlu brute force dua daripadanya, dan tuliskan keputusan semasa proses brute force, dan semak jadual setiap kali untuk melihat sama ada nilai yang dikira kali ini telah muncul sebelum ini.

左手右手慢动作

Jika anda hanya mahukan satu penyelesaian, maka p=q=r=s=4 tidak mengapa!


Soalan yang saya jawab: Python-QA

小葫芦

Saya juga memikirkan penyelesaian yang ganas, tetapi saya mempunyai penemuan baharu.

1/p+1/q+1/r+1/s=1 dan p<=q<=r<=s, kita boleh mendapatkan p=q=r=s apabila p ialah yang terbesar, 4/ p>= 1, kemudian p<=4, maka nilai maksimum dalam gelung ditentukan Nilai maksimum gelung untuk ialah 4, dan nilai yang lebih besar daripada 4 tidak perlu dipertimbangkan. Dengan cara yang sama, kita boleh menyimpulkan q<=6, r<=12, s<=42, yang boleh mengurangkan skop gelung for.

Sepatutnya setiap kali x (x=1) di sebelah kanan persamaan ditentukan, nilai maksimum dan minimum p boleh ditentukan.
Setiap kali p ditentukan (apabila gelung), nilai maksimum dan minimum q boleh ditentukan.
Begitu juga dengan r dan s.

Walau bagaimanapun, saya tidak dapat menyatakan peraturan 4, 6, 12, dan 42 dengan formula Perlu ada beberapa algoritma formula yang boleh digunakan pada 1/p+1/q+1/r+ 1/s+1 /...=x.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!