Jak napisałem wcześniej/wyżej, rozwiązanie O(1), to właśnie taki wzór, ale nie potrafię Ci go objaśnić. Drugi sposób to przeglądnięcie/przetworzenie trójkąta Sierpińskiego.
A więc ani w jednej metodzie, ani w drugiej nie interesuje Cię wartość [jaka to liczba]. Bo zrozumiałem, że chcesz policzyć tą liczbę, a potem sprawdzić, czy jest parzysta, czy nie? Nie to nie tędy droga.
TRÓJKĄT SIERPIŃSKIEGO
"Ziarno", atom:
N
NN
NPN
NNNN
Każdynastępny poziom, powstaje z odpowiedniego dostawienia trójkątów z bieżącego poziomu i wypełnienie pustego miejsca pomiędzy parzystymi:
1. DOSTAWIENIE LEWEGO:
N
NN
NPN
NNNN
N
NN
NPN
NNNN
2. wypełnienie:
N
NN
NPN
NNNN
NPPP
NNPP
NPNP
NNNN
- dOSTAWIENIE PRAWEGO
N
NN
NPN
NNNN
NPPPN
NNPPNN
NPNPNPN
NNNNNNNN
Jeżeli wiesz jak się konstruuje trójkąt, to robisz w odrotnym kierunku:
Nie musisz rysować całego.
Wysokość ziarna = 4 [od 0 do 3]
poziom 1 = 8
poz 2 - 16
i kolejno: 32 64 128 256 512 1024
I teraz robisz rekurencyjnie:
Jeżeli n < 4 to potrafisz odpowiedzieć
else kombinujesz ewentualnie odpowiednio zmniejszasz n i sprawdzasz k
PS
Porysuj sobie mniejsze trójkąty i pokombinuj.
PS 2
Uwzględnij też [potem] podpowiedzi w komentarzach pod zadaniem, oraz pamiętaj, że (8 nad 5) = (8 nad 3)