pseudokod
gosia: Jak działa ten pseudokod? Wiem co zwraca ale czemu akurat tak?
Nie rozumiem go
funkcja(n)
x = 0
pętla od 1=0 do n
jeśli reszta z dzielnia i przez 2 równa się 0 to:
x = 10 * x+ 1
w przeciwnym razie:
x = 10 * x+ 2
zwróć x
Proszę o odjaśnienie np dla n=4 koljne kroki
13 maj 15:14
Adamm: mamy tai ciąg
x−1=0
x2k=10*x2k−1+1
x2k+1=10*x2k+2
funkcja zwraca nam wartość xn
13 maj 15:46
Dziadek Mróz:
fun(n=4):
x=0
i=0
0%2==0 T x=10*0+1=1
i=1
1%2==0 N x=10*1+2=12
i=2
2%2==0 T x=10*12+1=121
i=3
3%2==0 N x=10*121+2=1212
return 121
13 maj 15:46
Adamm: taki **
13 maj 15:46
Adamm: zresztą, potrafimy wyznaczyć wzór ogólny tego ciągu
13 maj 15:50
Adamm: o wiele lepiej jest mieć ciągi w postaci ogólnej, prawda Dziadku Mrozie?
13 maj 15:53
gosia: A return to nie 1212?
13 maj 16:15
Dziadek Mróz:
tak
13 maj 16:33
gosia: Dzięki a jaki był ten kod gdyby była podzielnosc przez 3 ale wynik był np dla n=5
12012
13 maj 17:45
Dziadek Mróz:
x%n daje n wyników [0..n−1]
jeżeli nie wprowadzimy zmian w kodzie:
funkcja(n)
x = 0
pętla od 1=0 do n
jeśli reszta z dzielnia i przez 3 równa się 0 to:
x = 10 * x+ 1
w przeciwnym razie: # więc tutaj będzie reszta: (1, 2)
x = 10 * x+ 2
zwróć x
−−−−−−−−−−−−−−−−−−−−−−−−−
fun(n=5):
x=0
i=0
0%3==0 T x=10*0+1=1
i=1
1%3==0 N x=10*1+2=12
i=2
2%3==0 N x=10*12+2=122
i=3
3%3==0 T x=10*122+1=1221
i=4
4%3==0 N x=10*1221+2=12212
return 12212
13 maj 19:32