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í:
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.
14_puzzles
(zazipovanou složku s názvem puzzles.zip
nebo jeden soubor puzzles.py
)
Najdi součet čísel od -100 do 3000 (ve smyslu rozsahu v Pythonu, tzn. včetně počátku a bez konce).
Vypiš řetězec, který leží na hlavní diagonále matice uložené v souboru 1-2.csv
.
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).
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.
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.
M
M = [
[0, 1, 2],
[-1, 0, 1],
[-2, -1, 0]]
Má 5 diagonál, [-2], [-1, -1], [0, 0, 0], [1, 1], [2]
Najdi nejvyšší číselný palindrom pod 1 000 000, které je násobkem čísla 51.
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).
Vynásob sudé prvky matice 3-2.csv
dvěma a spočítej determinant této matice (může pomoci toto).
Najdi největší palindrom pod 1 000 000, který lze zapsat jako součin dvou trojciferných čísel.