Najneskorší termín odovzdania: 16.10.2016 (nedeľa) o 22:00
Odovzdávaný súbor: ZadanaKorytnacka.java
Cieľom tejto sady domácich zadaní je vytvoriť triedu ZadanaKorytnacka
, ktorá rozširuje triedu Turtle
a ktorá obsahuje nižšie predpísané metódy.
Doplňujúce požiadavky:
Naučte korytnačky triedy ZadanaKorytnacka
metódu stvorce
, 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 strana
. Farba výplne štvorcov je na striedačku červená a čierna.
Rada:
Podľa Golbachovej hypotézy sa každé kladné 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 ZadanaKorytnacka
pridajte metódu goldbach
, ktorá pre zadané kladné nepárne číslo n
vráti také prvočíslo 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:
jePrvocislo(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 ZadanaKorytnacka
metódu kombinovaneCislo
. 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:
kombinovaneCislo(258,164) = 268
kombinovaneCislo(25, 2419) = 2429
(namiesto 25 uvažujeme číslo so zápisom 0025)