Počet bodov:
Program:  15b

Ak máte akékoľvek otázky ohľadom tejto úlohy, napíšte Dávidovi na [email protected]

Tomi išiel domov zo školy, a rozmýšľal, čo by robil, ak by sa dostal na opustený ostrov. Založil by si oheň, ulovil ryby, postavil príbytok, … Keď si už myslel, že má všetko premyslené a nič ho neprekvapí, uvedomil si, že by nemal ako programovať. A keby si aj začal písať programy na drevo, nemal by ako zistiť, či niekde neurobil chybu. Tomi by bez programovania neprežil, a preto si povedal, že vymyslí nový programovací jazyk, ktorý bude pohodlný, bude sa ľahko kresliť na drevo a bude sa dať ľahko ručne simulovať jeho vykonávanie. Nazval ho Kreslo (pretože sa kreslí a je pohodlný). Tomi by rád vedel, ako dobrý je jeho jazyk a čo všetko sa v ňom dá naprogramovať. Na to potrebuje vašu pomoc.

Úloha

Kreslo je veľmi jednoduchý jazyk. Pracuje iba s celými číslami, ktoré vie načítavať zo vstupu a vypisovať na výstup. Aby sa Tomimu ľahko kreslilo, celý program je nakreslený do mriežky a každá inštrukcia zaberá jeden štvorec. Podrobnosti o tom, ako tento jazyk funguje a ako v ňom písať programy nájdete na ksp.sk/~prask/specialne/4/1/3/manual.pdf

My našťastie nie sme na opustenom ostrove, a preto môžeme používať elektronický editor, ktorý dokáže aj simulovať beh programu. Nájdete ho spolu s ukážkovými programami na adrese ksp.sk/~prask/specialne/4/1/3/.

Vašou úlohou bude vyriešiť nasledujúce podúlohy a odovzdať ZIP súbor, ktorý obsahuje zdrojové kódy vašich riešení (dajú sa stiahnuť z editora). ZIP by mal obsahovať súbory 1.kr5.kr s vašimi riešeniami jednotlivých podúloh.

Podúlohy

  1. (1 bod) Na vstupe je zadané číslo \(a\) \((1 \leq a \leq 1\,000)\). Vypíšte číslo \(7\) ak \(a\) je deliteľné číslom \(7\) (je to násobok sedmičky), inak vypíšte číslo \(a\) nezmenené.

Input:

21

Output:

7

Input:

47

Output:

47
  1. (3 body) Na vstupe je zadané číslo \(n\) \((1 \leq n \leq 100)\). Vypíšte čísla od \(n\) do \(1\) v klesajúcom poradí.

Input:

7

Output:

7 6 5 4 3 2 1
  1. (4 body) Na vstupe sú zadané čísla \(x\) a \(y\) \((0 \leq x \leq y \leq 100)\). Vypíšte v rastúcom poradí všetky čísla od \(x\) do \(y\) (vrátane), ktoré sú násobkami čísla \(3\).

Input:

39 47

Output:

39 42 45
  1. (4 body) Na vstupe je zadané číslo \(n\) \((1 \leq n \leq 1000)\). Vypíšte najmenšie číslo \(a\), \(1 < a \leq n\) ktoré delí \(n\) (zvyšok po delení \(n\) číslom \(a\) je \(0\)).

Input:

35

Output:

5

Deliteľmi čísla 35 sú čísla 1, 5, 7 a 35. Keďže 1 vypísať nemôžeme, najmenší deliteľ je číslo 5.

  1. (3 body) Prvočísla sú prirodzené čísla väčšie ako 1, ktoré nie sú deliteľné žiadnym číslom od 2 po \(p-1\). Napríklad čísla 2, 5, 7, 23 sú prvočísla, čísla 1, 4, 50, 99 nie sú.

    Na vstupe je zadané číslo \(n\) \((2 \leq n \leq 100)\). Vypíšte všetky prvočísla z rozsahu od \(2\) po \(n\) v rastúcom poradí.

Input:

11

Output:

2 3 5 7 11

Odovzdávanie

Na odovzdávanie sa musíš prihlásiť

Otázky a diskusia

Po skončení kola budete mať príležitosť na diskutovanie o riešeniach v diskusii pod vzorovým riešením.