Fahey kérdése:
Nehéz olyan programot írni, amelyik egy megadott egész számot felbont három négyzetszámra (ha az adott szám felírható 3 négyzetszám összegeként), és minden lehető variációt megad? Pl. 51 = 25+25+1 és 49+1+1.
Figyelt kérdés
2023. jan. 19. 01:29
1/9 anonim válasza:
Ha brute force-olod, akkor elég egyszerűen is meg lehet írni, csak nagyobb számok esetén marha lassú lesz. Gyanítom egyébként, hogy ez NP teljes, tehát nincs rá hatékony algoritmus (de ezt bekéne bizonyítani), de az is biztos hogy sok kis trükkel lehet rajta gyorsítani
2/9 A kérdező kommentje:
Sajnos én nem tudok programozni, de esetleg ismer valaki olyan weboldalt, ahol találok ilyen programot? Angol nyelvű is lehet a weboldal. Előre is köszi!
2023. jan. 19. 03:37
3/9 CspCsj válasza:
Google elsőre ezt dobta:
6/9 anonim válasza:
Igen, ez a brute force
Amúgy lepontozhatom magam? XD 1-ben arra gondoltam, hogy nem lesz lineáris, nem pedig arra, hogy NP-teljes
7/9 anonim válasza:
#5: egész jó, működik, de javítható:
Az 1. ciklus csak int(math.sqrt(n/2)) + 1 -ig menjen
A 2.-ból ki kell lépni, ha c<0
" and c == int(c) " felesleges, úgy is csak egész lehet - sqrt(c)-vel gondoltad?
És mielőtt az egészet elkezdjük, illene ellenőrizni, hogy megoldható-e?
8/9 A kérdező kommentje:
Köszönöm szépen mindenkinek a segítséget!
2023. jan. 20. 04:00
9/9 anonim válasza:
Nehezebb, de érdekesebb probléma egy nagyobb, legalább 8-9 jegyű számot felírni LEGFELJEBB 8 prím négyzetének összegeként.
Sok nagy számot nem lehet felírni pontosan 8 prím négyzetének összegeként, de 7, vagy kevesebb prím négyzetének összegeként lehet.
Kapcsolódó 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
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!