Milyen jó algoritmust ismertek pitagoraszi számnégyesek (nem számhármasok! ) keresésére?
Írtam saját magam is egyet, de az nagyobb határértékekkel lassú és nem is valami "elegáns". Beágyazott for ciklust használ, 4 db ciklus van egymásba ágyazva és mindegyik végigfut egy bizonyos határig a különböző változók értékein, legbelül pedig megvizsgálja, érvényes-e a térbeli Pitagorasz-tétel. Helyesen működik ugyan, de egyrészt még külön esetnek veszi ha a változók különböző sorrendben adódnak össze (pl. a^2 + b^2 + c^2 = d^2 és a^2 +c^2+b^2), de ezt magam is meg tudnám oldani. Igazából csak egy jobb, gyorsabb algoritmus kellene, de nekem erre nincs ötletem.
Kösz előre is a válaszokat!
(Bocs ha hosszúra nyúlt a mondókám...)
Mivel nem írtad le, hogy hogyan csinálod, és hogy egyáltalán negatív számok is része-e az értékkészletnek...
Nemtom, hogy csináltad, de ha gyökvonás van benne, attól tényleg lassú lesz. Ne egy számra nézd meg, hogy azt ki lehet-e hozni négyzetszámokból, hanem csak a számokat szorozgassad összefele, az a négyzetszámokat meg előtte egy külön függvénnyel betolod egy tömbbe, hogy csak ki kelljen olvasgatni, ne kelljen sehol újraszámolni meg gyököt vonni. Ezt még tetézheted azzal, hogy tudod, hogy mindig a következő elemet keresed a négyzetszámok tömbjéből, így még a tömbben való keresést is megspórolhatod.
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!