Zadanie można rozwiązać na 2 sposoby. Można przeanalizować działanie funkcji F dla podanych argumentów, np.
F (8) = F(4) + 1 = (F(2) + 1) + 1 = ((F(1) + 1) + 1) + 1 = ((1 + 1) + 1) + 1 = 4;
F (12) = F(6) + 1 = (F(3) + 1) + 1 = ((F(1) + 1) + 1) + 1 = ((1 + 1) + 1) + 1 = 4.
Można też zauważyć, że funkcja F oblicza liczbę bitów potrzebnych do zapamiętania liczby n
w systemie binarnym; w ten sposób zadanie bardzo się upraszcza. I tak do zapamiętania
n = 8, n = 9, n = 12 potrzebujemy 4 bitów, a dla n = 1 potrzebujemy 1 bitu.
Stąd łatwo uzyskujemy dwie pierwsze odpowiedzi. Przy udzielaniu odpowiedzi na kolejne
pytania trzeba pamiętać o tym, że wartość wyrażenia a
lub b jest fałszywa tylko w wypadku,
gdy zarówno a = fałsz, jak i b = fałsz (w pozostałych przypadkach jest prawdziwa), zaś wartość wyrażenia a
oraz b jest prawdziwa tylko wtedy, gdy zarówno a = prawda, jak
i b = prawda (w pozostałych przypadkach jest fałszywa). Stąd otrzymamy:
F(1) = 0 lub F(9) = 4 ⇔ fałsz lub prawda ⇔ prawda,
F(1) = 1 oraz F(9) = 3 ⇔ prawda oraz fałsz ⇔ fałsz.