- sziku69: Fűzzük össze a szavakat :)
- MasterDeeJay: Egy nem átlagos Asus videókártya (GTX950M 2GB GDDR3)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- suste: Openwrt Barrier Breaker 14.07 saját verzió Tp-link routerekre
- Luck Dragon: MárkaLánc
- Gurulunk, WAZE?!
- Navaren: Resident Evil Requiem szösszenet
- Oldman2: A KOReader ebook olvasó program
- Mr Dini: Mindent a StreamSharkról!
Új hozzászólás Aktív témák
-
EQMontoya
veterán
válasz
Pttypang
#5222
üzenetére
Ejj, ha!
No, akkor okítsunk.

Először is: osztóJa!

Másodszor: szájbaszexuálnád a nevemben, aki arra nevel, hogy magyar változóneveket és függvényneveket használjatok?
Harmadszor: Optimalizáljunk:
-Ha a megadott szám kisebb, mint 1000, akkor elég a megadott számig menni. Tehát a ciklusfeltétel: i<min(n,1000). Illetve ennek is elég a feléig menni, mert különben ugyanazokat a számokat találod meg fordítva. Tehát i<=min(n,1000)/2. Azért kisebbegyenlő, mert kihasználtam gonoszul az egész osztást.
-Gondolkodjunk is: a második ciklus tök felesleges. Minden számhoz csak egy másik olyan tartozik, amivel összeadva az öszeg n lesz. Tehát, amit vizsgálnod kell: prime(i) && prime(n-i). Ezzel kész is vagy.Tehát:
for(i=1;i<=min(n,1000)/2;i++)
{
if(prime(i) && prime(n-i))
{
printf(...);
}
}No, ez már így nem is lenne rossz, most már cak a prímtesztelést kell kicsit okosítani. Maradjunk a primitív módszereknél, de ennél azért kicsit okosabban. Ha egy szám nem prím, akkor előáll két szám szorzataként. Ebből a kettőből az egyik kisebb, vagy egyenlő, mint a gyöke, tehát elég addig nézni.
Osztókat számolni tök felesleges, az első osztónál ugyanis biztosan nem lehet prím.Tehát:
for(i=2;i<=sqrt(n);i++)
{
if(!n%i) //csalok: ez akkor igaz, ha a maradékos osztás maradéka 0 - tehát osztható
{
return false; //van osztója, ami nem egy és nem önmaga
}
}
return true; //ha a gyökéig nem volt osztója, biztos prím.Máris mennyivel szebb, ugye?

Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Amlogic S905, S912 processzoros készülékek
- Kerékpárosok, bringások ide!
- Asztalos klub
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- iPhone topik
- Vezetékes FEJhallgatók
- Futás, futópályák
- Milyen monitort vegyek?
- Fejhallgató erősítő és DAC topik
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- További aktív témák...
- Akciós kisWorkstation! Dell Precision 3560 i7-1165G7 4.7GHz / 32GB / 512GB / Quadro T500 2GB FHD 15"
- Vegyes , 3 db memoria egyben vihető, teszteletlen.
- Sony PS3/PS4/PS5 és kézikonzolok Okosítása és Szoftveres szintű javítása - MÁR 13.00-S PS4 IS!
- 27% - LG UltraFine 27UQ850V-W 4K IPS Monitor! 3840x2160 / 60Hz / FreeSync
- MSI Thin GF63 - 15.6"FHD IPS 144Hz - i5-12450H - 8GB - 512GB - RTX 3050 4GB - Win11 - Gari - MAGYAR
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

