Algoritmikerhon tehtäviä

Tee kaikki seuraavat tehtävät vakiotilassa, eli ohjelmassa saa olla vain kiinteä määrä muuttujia. Taulukot ja rekursiiviset funktiot ovat kiellettyjä.

Shakkiruudukko

Tee ohjelma, joka tulostaa annetun kokoisen shakkiruudukon seuraavien esimerkkien mukaisesti.

Anna koko: 5
01010
10101
01010
10101
Anna koko: 6
010101
101010
010101
101010
010101

Spiraali 1

Tee ohjelma, joka tulostaa ruudukon seuraavien esimerkkien mukaisesti.

Anna koko: 5
  1  2  9 10 25
  4  3  8 11 24
  5  6  7 12 23
 16 15 14 13 22
 17 18 19 20 21
Anna koko: 6
  1  2  9 10 25 26
  4  3  8 11 24 27
  5  6  7 12 23 28
 16 15 14 13 22 29
 17 18 19 20 21 30
 36 35 34 33 32 31

Spiraali 2

Tee ohjelma, joka tulostaa ruudukon seuraavien esimerkkien mukaisesti.

Anna koko: 5
 25 10 11 12 13
 24  9  2  3 14
 23  8  1  4 15
 22  7  6  5 16
 21 20 19 18 17
Anna koko: 6
 26 27 28 29 30 31
 25 10 11 12 13 32
 24  9  2  3 14 33
 23  8  1  4 15 34
 22  7  6  5 16 35
 21 20 19 18 17 36

Hassu ruudukko

Tee ohjelma, joka tulostaa ruudukon seuraavien esimerkkien mukaisesti. Ideana on, että ruudukon vasemmassa yläkulmassa on luku 0 ja kaikissa muissa ruuduissa on pienin ei-negatiivinen kokonaisluku, jota ei esiinny samalla rivillä vasemmalla eikä samassa sarakkeessa ylhäällä.

Anna koko: 5
  0  1  2  3  4
  1  0  3  2  5
  2  3  0  1  6
  3  2  1  0  7
  4  5  6  7  0
Anna koko: 6
  0  1  2  3  4  5
  1  0  3  2  5  4
  2  3  0  1  6  7
  3  2  1  0  7  6
  4  5  6  7  0  1
  5  4  7  6  1  0