CSharp

From Marek Běhálek Wiki
Jump to navigation Jump to search

Laboratory 2

Matematické cvičení

Cílem je implementovat jednoduchý kalkulátor, který bude umět sčítat číslice v různých soustavách.

Specifikace vstupu

Na vstupu je několik bloků. Každý blok mimo posledního začíná řádkem s kladným celým číslem z (toto číslo je menší než 35), poslední blok začíná nulou a nemá být zpracováván. Na druhém řádku každého bloku se nachází dvě nezáporná čísla x a y oddělená mezerou, která jsou zapsána standardním způsobem v soustavě o základu z. U soustav o základu větším než 10 se pro cifry s hodnotou větší než 9 používá písmen A, B.... Pokud má soustava základ jedna, používá se pouze cifra jedna a a počet cifer je roven velikosti čísla (viz vzorový výstup); nula se v jedničkové soustavě zapisuje jako jednociferné číslo, jediná cifra 0. Čísla, která váš program obdrží na vstupu, nebudou na svém začátku obsahovat přebytečné nuly. Čísla mají nejvýše 1000 cifer.

Specifikace výstupu

Výstup má obsahovat pro každý blok na vstupu jeden řádek. Na řádku mají být vypsána čísla x a y oddělená mezerou, znakem + a mezerou. Za nimi má následovat mezera, znak =, mezera a číslo x+y. Všechna čísla mají být zapsána standardním způsobem v soustavě o základu z.

Příklad vstupu a výstupu

16
A0 FE
1
1111 11
0
A0 + FE = 19E
1111 + 11 = 111111

Anagramy

K zadanému slovu vypište všechny jeho anagramy. Anagram je katové slovo, které vznikne přeuspořádáním písmen z původního slova. Každé slovo na výstupu bude právě jednou a všechna slova budou setříděna podle abecedy sestupně (od a do z). Ve vstupním slově, jehož anagramy budete generovat, se mohou některé symboly opakovat.

Specifikace vstupu

Na prvním řádku je číslo N. To udává, kolik řádku následuje. Na následujících N řádcích je N slov, každé na samostatném řádku.

Specifikace výstupu

Ke každému slovu ze vstupu vygenerujte všechny jeho anagramy (včetně původního slova) setříděné sestupně podle abecedy. Slova se mohou skládat z malých a velkých písmen anglické abecedy.

Příklad vstupu a výstupu

3
aAb
abc
acba
Aab
Aba
aAb
abA
bAa
baA
abc
acb
bac
bca
cab
cba
aabc
aacb
abac
abca
acab
acba
baac
baca
bcaa
caab
caba
cbaa