Table of Contents

Předvánoční cvičení

Bonusový Testík

Hádanka

101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109


Programovací puzzles

Programovací puzzles jsou drobné úlohy, za jejichž splnění můžete získat až jeden bod. Hlavní motivací vám tedy budiž dobrý pocit ze splnění úkolu. Počet bodů z puzzles je součet bodů vašich odpovědí, ale maximálně 1 bod.

Programovací úkoly jsou na tři témata (suma, práce s maticí, palyndrom) a jsou rozděleny do následujících úrovní:

  1. Úroveň: - základní uroveň každého tématu. Puzzles jsou splnitelné na papíře (ale doporučujeme řešení naprogramovat). Pro jejich splnění by vám měla stačit látka ze cvičení. Za úspěšně vyřešené puzzle úrovně 1 je 0.1 bodu.
  2. Úroveň: - trochu složitější puzzles. Jejich řešení na papíře by mělo být příliš otravné na to, abyste to zkoušeli. Za úspěšně vyřešené puzzle úrovně 2 je 0.2 bodů.
  3. Úroveň: - Nejkomplikovanější verze puzzles. Za puzzle úrovně 3 je 0.5 bodů.
  4. Úroveň - Bonus: Pokud splníte všechna puzzles, můžete plnit další úlohy, na které vás odkáže cvičící po splnění všech předchozích úloh. Bonusové úlohy nejsou bodované.

U úrovní 2 a 3 se vyplatí nejdříve promyslet přístup k řešení, případně zagooglit či si přečíst článek na wikipedii a pak začít kódovat. V úlohách smíte využít i jiné moduly než ty z Base.

Inspirací pro tyto hádanky je projekt Euler. Podobné hádanky a rébusy najdete např. i v Advent of Code.

Odevzdání

1. Úroveň

1-1 Suma

Najdi součet čísel od -100 do 3000 (ve smyslu rozsahu v Pythonu, tzn. včetně počátku a bez konce).

1-2 Matice

Vypiš řetězec, který leží na hlavní diagonále matice uložené v souboru 1-2.csv.

1-3 Palindrom

Zjisti, kolik palindromatických slov je v textu 1-3.txt. I jednopísmenné slovo je palindrom, interpunkce není písmenko. Pro posouzení, zda je slovo palindromem, považujte velké 'P' i malé 'p' za stejné písmeno (podobně i u jiných písmen).

2. Úroveň

2-1 Suma

Najdi součet všech čísel od 0 do 3000 (ve smyslu rozsahu v Pythonu, tzn. včetně počátku a bez konce), která jsou buď násobkem 3 nebo násobkem 7.

2-2 Matice

Najdi součty všech diagonál matice uložené v souboru 2-2.csv. Součin těchto součtů je řešením úlohy.

Například 3×3 matice M

M = [
[0, 1, 2],
[-1, 0, 1],
[-2, -1, 0]]

Má 5 diagonál, [-2], [-1, -1], [0, 0, 0], [1, 1], [2]

2-3 Palindrom

Najdi nejvyšší číselný palindrom pod 1 000 000, které je násobkem čísla 51.

3. Úroveň

3-1 Suma

Najdi součet všech čísel od 1 do 3000 (ve smyslu rozsahu v Pythonu, tzn. včetně počátku a bez konce), která lze zapsat jako součin právě tří prvočísel (jednička není prvočíslo).

3-2 Matice

Vynásob sudé prvky matice 3-2.csv dvěma a spočítej determinant této matice (může pomoci toto).

3-3 Palindrom

Najdi největší palindrom pod 1 000 000, který lze zapsat jako součin dvou trojciferných čísel.