Kurzusok
/
Roc
Roc
/
Feladatok
/
Négyzetgyök
Négyzetgyök

Négyzetgyök

Könnyű

Bevezetés

Egy mélyűri kutatórakétát indítunk útnak, és valahogy biztosítanunk kell, hogy a navigációs rendszer a helyes pályán maradjon.

A számítás első lépéseként fogunk egy célul kitűzött számot, és megkeressük a négyzetgyökét (vagyis azt a számot, amely önmagával megszorozva kiadja az eredeti számot).

Az utazás nagyon hosszú lesz. Hogy az elemek minél tovább bírják, a rakéta fedélzeti számítógépét nagyon energiatakarékosra kellett terveznünk. Ez sajnos azt jelenti, hogy nem támaszkodhatunk különleges matematikai könyvtárakra és függvényekre, mert azok több energiát fogyasztanak. Helyette a saját négyzetgyökszámításunkat szeretnénk megvalósítani.

Utasítások

A feladatod egy adott szám négyzetgyökének kiszámítása.

  • Lehetőleg kerüld a nyelv beépített matematikai könyvtárainak használatát.
  • Bemenetként egy pozitív egész számot kapsz, azaz 1, 2, 3, 4…
  • Csak azokkal az esetekkel kell foglalkoznod, amelyekben az eredmény pozitív egész szám.

Néhány lehetséges megközelítés:

  • Lineáris vagy bináris keresés olyan számra, amely négyzetre emelve a bemeneti számot adja.
  • Fokozatos közelítés Newton vagy Hérón módszerével.
  • Számjegyenkénti vagy bitenkénti kiszámítás.

Ha segítségre van szükséged a számítási módszer kiválasztásához, nézd meg a Wikipédia egész szám négyzetgyöke és négyzetgyökszámítási módszerek szócikkeit.

Megvalósítás

Ez a feladat könnyedén megoldható a Roc beépített sqrt függvényével.

Azonban szeretnénk, ha kihívásként tekintenél erre a feladatra, és beépített függvények és modulok nélkül oldanád meg.

Bár létezik olyan matematikai képlet, amellyel bármely szám négyzetgyökét meg lehet találni, mi azt az utat választottuk, hogy megoldásként csak természetes számok (pozitív egészek) szerepeljenek.


Forrás

wolf99A hivatkozás új ablakban vagy lapon nyílik meg
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Roc Exercism

Készen állsz elkezdeni a(z) Négyzetgyök feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Roc nyelvet 135 feladat segítségével, valódi emberi mentorálással, mindez ingyen.