Najneskorší termín odovzdania: 17.10.2021 (nedeľa) o 18:00
Odovzdávaný súbor: HomeTurtle.java
Cieľom tejto sady domácich zadaní je vytvoriť triedu HomeTurtle
, ktorá rozširuje triedu Turtle
a ktorá obsahuje nižšie predpísané metódy.
Doplňujúce požiadavky:
Naučte korytnačky triedy HomeTurtle
metódu squares
, ktorá nakreslí "nekonečnú" postupnosť vnorených vyplnených štvorcov podľa obrázka nižšie ("nekonečnú" znamená, že štvorce menšie ako 1 pixel nekreslíme). Stred vnorených štvorcov nech je aktuálna pozícia korytnačky. Dĺžka strany najväčšieho štvorca je daná parametrom size
. Farba výplne štvorcov je na striedačku červená a čierna.
Rada:
Podľa Golbachovej hypotézy sa každé kladné cele nepárne číslo n
dá rozložiť na súčet prvočísla a dvojnásobku druhej mocniny nejakého nezáporného celého čísla.
Príklady:
Do triedy HomeTurtle
pridajte metódu goldbach
, ktorá pre zadané kladné cele nepárne číslo n
vráti:
p
, že n = p + 2×q2, alebo
-1
, ak také prvočíslo neexistuje (keďže Goldbachova hypotéza možno neplatí pre všetky nepárne čísla).
Rady:
isPrime(n)
, ktorá vráti, či zadané číslo je prvočíslo. Číslo n
je prvočíslom práve vtedy, keď počet jeho deliteľov je práve 2
(deliteľom je 1
a n
). Efektívnosť riešenia nie je pri hodnotení zohľadňovaná.
p
alebo pre q
. Odporúčame však generovať všetky prípustné hodnoty pre q
a overovať, či prislúchajúce p
je prvočíslo.
Naučte korytnačky triedy HomeTurtle
metódu combinedNumber
. Táto metóda dostane ako parametre dve nezáporné čísla typu int
a vráti nové číslo typu int
, v ktorom na každej pozícii bude väčšia z cifier na tejto pozícii v parametrami zadaných číslach. Teda ak v prvom čísle je na mieste jednotiek cifra 5 a v druhom je na mieste jednotiek cifra 3, tak vo výslednom čísle bude na mieste jednotiek cifra 5. Ak sa počet cifier v zadaných číslach líši, tak pred číslo s menším počtom cifier si "domyslite" cifry 0. Uvažujeme zápis čísel v desiatkovej sústave.
Príklady:
combinedNumber(258,164) = 268
combinedNumber(25, 2419) = 2429
(namiesto 25 uvažujeme číslo so zápisom 0025)