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)
Keganasan, mengikut algoritma ia hanya sepatutnya ganas. Tetapi terdapat banyak cara untuk menggunakan keganasan.
Selepas mendarab kedua-dua belah (pqrs), anda mendapat $$ qrs+prs+pqs+pqr=pqrs $$, anda boleh kekerasan tiga daripadanya dan mengira yang keempat.
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.
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.
Penyelesaian ganas;
Integer adalah 10,000 kali lebih mudah digunakan daripada nombor titik terapung
Keganasan, mengikut algoritma ia hanya sepatutnya ganas.
Tetapi terdapat banyak cara untuk menggunakan keganasan.
Selepas mendarab kedua-dua belah (pqrs), anda mendapat $$ qrs+prs+pqs+pqr=pqrs $$, anda boleh kekerasan tiga daripadanya dan mengira yang keempat.
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.