Tabele clase de resturi
Fie k
un număr natural, k>1
. Un tabel al claselor de resturi prin adunare, respectiv înmulțire, asociat numărului k
este un tabel care are următoarele proprietăți:
- are
k
linii șik
coloane - liniile/coloanele sunt numerotate crescător de la linia/coloana
0
la linia/coloanak-1
- valoarea memorată în tabel în celula situată pe linia
i
și coloanaj
este(i+j)%k
, respectiv(i*j)%k
.
k=2
i se asociază cele două tabele ale claselor de resturi:
- prin adunare:
0=(0+0)%2 1=(0+1)%2 1=(1+0)%2 0=(1+1)%2
- prin înmulțire:
0=(0*0)%2 0=(0*1)%2 0=(1*0)%2 1=(1*1)%2
Cerința
Dându-se un șir cu n
elemente numere naturale (cu indicii de la 0
), să se construiască pentru fiecare element din șir câte un tabel al claselor de resturi asociat prin înmulțire dacă indicele elementului este impar, respectiv prin adunare dacă indicele elementului este par.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi cele n
numere naturale din șir, separate prin spații.
Date de ieșire
Programul va afișa pe ecran în câte un tabel pentru fiecare element din șir, construit conform cerinței, în ordinea generării. Valorile din fiecare tabel se vor afișa linie cu linie, în cadrul fiecarei linii din tabel valorile fiind separate prin câte un spațiu.
Restricții și precizări
1 ≤ n ≤ 20
- cele
n
numere citite sunt numere naturale din intervalul închis[2,10]
Exemplu:
Intrare
3 2 4 3
Ieșire
0 1 1 0 0 0 0 0 0 1 2 3 0 2 0 2 0 3 2 1 0 1 2 1 2 0 2 0 1
Explicație
S-au citit 3
numere. Se vor construi pe rând tabelele de resturi prin adunare pentru k=2
, prin înmulțire pentru k=4
și prin adunare pentru k=3
.