Spróbuj to zrobić bez konwersji na system decymalny. Na pewno możesz odrzucić wszystkie liczby nieparzyste - tzn. takie których najmłodszy bit jest 1.
Dalej: liczba jest podzielna przez dziesięć jeśli jest wielokrotnością 10. Pojedyncza potęga dwójki nigdy nie będzie wielokrotnością dziesiątki. Dlatego kolejne potęgi muszą się nawzajem "uzupełniać" tworząc wielokrotności 10. Patrz tylko na cyfre jedności kolejnych potęg. Rozpisz sobie kilka pierwszych zaczynając od 1:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
2 |
4 |
8 |
16 |
32 |
64 |
128 |
256 |
512 |
1024 |
2048 |
4096 |
Zauważasz pewną prawidłowość? Cyfry jedności 2, 4, 8, 6 powtarzają się co 4 pozycje. Np. jeśli ustawiony jest trzeci bit (2^3 = 8), to musi być też ustawiony 5. (= 3+2) lub 9. (= 5 + 1*4) lub 13. (= 5 + 2*4) bit itd... Musisz znajdować takie pary bitów, które sobie odpowiadają tworząc wielokrotność dziesiątki.
Nigdy nie robiłem tego zadania i nie wiem czy to jest najprostszy sposób, ale ja tak to widzę i myślę, że w tę stronę należy iść.