- iPhone topik
- One mobilszolgáltatások
- Végre hivatalos, mikor lesz az S26 hivatalos
- Poco F8 Ultra – forrónaci
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Itthon is elérhető a OnePlus 11 és a Buds Pro 2
- Elődje legnagyobb hibáját javítja az iPhone 17e
- Milyen okostelefont vegyek?
- Google Pixel topik
- Hamarosan lesz a Nothingnak mondanivalója
Ú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!
- MT Tempomat-Limiter szimulátorhoz, 15 gombbal
- Asus ROG Strix Scar 3 G531G BONTÁS rtx 2070 i7 9750H
- Acer Predator Triton 500 (PT515-52) BONTÁS RTX 2080 Super, i7 10750H 300Hz alkatrészek
- Gamer PC-Számítógép! Csere-Beszámítás! I5 9600KF / RTX 3060Ti / 16GB DDR4 / 256SSD + 2TB HDD
- HP ZBook Studio G8 i7 32GB RAM 1TB SSD RTX A3000/Garancia
- 194 - Lenovo Legion 5 (15IRX10) - Intel Core i9-14900HX, RTX 5070 (ELKELT)
- iKing.hu Apple iPhone 12 128GB White használt karcmentes 100% akku 6 hónap garancia
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Samsung Galaxy S20 / 8/128GB / Kártyafüggetlen / 12HÓ Garancia
- SZÁLCSISZOLT FÉM HATÁSÚ Dell Latitude 5420 14" Touchscreen i5-1135G7 16GB 256GB 1 év garancia
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest



