Kezdőoldal » Számítástechnika » Programozás » A programozók miért használnak...

A programozók miért használnak sqrt (i) + 1 függvényt arra, hogy megkapják a szám felét?

Figyelt kérdés

Prímszám kiíró programokba láttam ilyet de mi értelme van annak,hogy be töltik a math.h és mi értelme van egy függvényhívásnak ha egyszerűen így is megoldható: i/2 ??

Prímszámok keresésénél elég a feléig elszámolni de mi értelme van ennek: (int)sqrt + 1 csak azért,hogy megkapják a szám felét?Szerintetek?


A másik amit nem értek az,az,hogy olyan esetekben amikor valami implicit konvertálódik(pl: float intre) a programozók miért teszik ez explicitként? Példa: int x = (int)sqrt(u) + 1 vagy nagyon gyakran ilyen formában is szoktam látni: int x = static_cast<int>(sqrt(u) +1);


Miért?


2013. máj. 9. 17:06
 1/9 anonim ***** válasza:
100%

Az sqrt() nem a felét hanem a négyzetgyökét adja vissza a számnak. Bontsuk fel a 10,000-t prímtényezőkre. Ha csak i/2-ig számolsz el az 5,000, de ha sqrt(i)+1-ig az 101.

Az (int) az ún. 'C-style' castolás, a static_cast meg C++ style

2013. máj. 9. 17:12
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
*Akarom mondani "Állapítsuk meg hogy a 10,000 prímszám-e"
2013. máj. 9. 17:13
Hasznos számodra ez a válasz?
 3/9 anonim válasza:
100%

Gondolkozz! A prímszámnál mi az érteleme i/2-ig elmenni?

Miért nem elég sgrti)-ig. Például 101 prímszám-e? Elég a ..11-el oszhatóságot vizsgálni.

Miért gondolod, hogy egyszerűbb megjegyezni, hogy mikor melyik programrendszerben mi hogyan konvertálódik. Talán egyszerűbb egysegésen kezelni mindent. Inkább felesleges irogatás, mint hibás használat. Meg van amikor így gyorsabban fut.

2013. máj. 9. 17:18
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:

Köszi.

Most már értem és tuti,hogy Buddha megvilágosodása kutya fa*za az enyémhez hála nektek adtam zöld kezet.

2013. máj. 9. 17:47
 5/9 A kérdező kommentje:

Még egy kérdésem lenne:

Az sqrt visszaadott értékéhez még miért kell hozzárendelni 1 et?

2013. máj. 9. 19:00
 6/9 anonim ***** válasza:

Nem hozzárendelni, hozzáadni. Hozzárendelni csak balértékhez lehet (pl. változóhoz).

Önmagában nem kell, de ha ez egy ciklusfejben van, akkor kellhet, hogy az utolsót is figyelembe vegye, pl. i=1; i++; i<sqrt(n)+1

2013. máj. 9. 19:04
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:
Értem de ha a feltételben < helyett <= ez van akkor nem kell ugye?
2013. máj. 9. 19:10
 8/9 anonim ***** válasza:
Pontosan, ahogy mondod.
2013. máj. 9. 19:13
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:
Bocs, viszont hülyeséget írtam, i=2, mert az eggyel való oszthatóságot nem vizsgáljuk. :-)
2013. máj. 9. 19:14
Hasznos számodra ez a válasz?

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!