Program počíta postupnosť druhých mocnín celých čísel a kontroluje ich s
prvkami poľa a. Ak je x <= 0, preskočí (1–x) prvkov
postupnosti. Do premennej b si zaznamenáva po bitoch, ktorý prvok poľa
sa rovná príslušnej druhej mocnine, t.j.
a[i]=(i+x+1)2.
nakoľko x=-2, tak sa porovnávajú mocniny
16, 25, 36, 49, 64, 81, 100, t.j. druhé,
štvrté a siedme číslo – po bitoch 0101001,
t.j. b=41
číslo 47 v dvojkovej sústave: 101111 a
keďže poznáme tretí 121 a piaty 169 prvok poľa, pole musí obsahovať tieto
hodnoty: 81, ?, 121, 144, 169, 196,
kde ? je ľubovoľné číslo rôzne od
100. Aby sa ako prvá testovala mocnina 81, musíme preskočiť prvých 8 hodnôt,
t.j. x = -7.
Program postupne pre všetky čísla z intervalu <1,N>
testuje, či sú deliteľné číslami <2,N> a pre všetkých deliteľov
pípne, pre "nedeliteľov" len čaká. Označme počet všetkých deliteľov čísel
z intervalu <1,N> premennou p (t.j. počet pípnutí) a
konštantu v príkaze cakaj premennou c – potom celkový čas môžeme
zapísať vzorcom: (N*(N-1)-p)*c+p.
pre N=12 je počet deliteľov p=23 (2; 3; 2,4; 5; 2,3,6; 7; 2,4,8;
3,9; 2,5,10; 11; 2,3,4,6,12) a teda dĺžka trvania programu 11.13
sekundy
čísla z intervalu <1,20> majú p=46 deliteľov
(pípnutí) – dosadíme do vzorca a dostávame (20*19-46)*c+46=10400 a
teda konštanta v príkaze cakaj je c=10354/334=31
Zatláčanie tlačidiel kalkulačky generuje čísla, ktoré v
3-ovej sústave obsahujú len cifry 1 a 2 a žiadnu cifru 0 – pričom vždy
začínajú cifrou 1.
ak zatlačíme 4-krát prvé a 3 krát druhé tlačidlo, dostávame v 3-ovej
sústave 8-ciferné číslo, ktoré obsahuje len cifry 1 a 2 a vždy začína cifrou
1, t.j. počet rôznych čísel môžeme vypočítať ako kombináciu tretej triedy z
7-prvkovej množiny, teda komb(7,3)=35, najmenšie číslo má v 3-ovej
sústave zápis 111112223=329310 a najväčšie
122211113=433310.
postupne generujme strom:
1. krok: 1(4,5), resp. 1(113,123)
2. krok: 4(13,14), 5(16,17), resp. 113
(1113,1123), 123 (1213,1223),
3. krok: 13(40,41), 14(43,44), 16(49,50), 17(52,53),
resp. 1113 (11113,11123), ...