Sonraki karakter, herhangi bir miktarda karakteri silerek diğerinden alabileceğiniz herhangi bir dizidir. Belirgin boş olmayan sekanslar 100vardır 0, 1, 00, 10, 100. Belirgin boş olmayan sekanslar 1010vardır 0, 1, 00, 01, 10, 11, 010, 100, 101, 110, 1010.
Pozitif bir tamsayı n veren bir program veya işlev yazın , n'nin ikili genişlemesinin boş olmayan ayrı alt dizilerinin sayısını döndürür .
Örnek: beri 4olduğu 100ikilik sistemde ve biz o kadar, beş ayrı boş olmayan alt diziler yukarıda olduğunu gördüm f(4) = 5. N = 1'den başlayarak dizi başlar:
1, 3, 2, 5, 6, 5, 3, 7, 10, 11, 9, 8, 9, 7, 4, 9, 14, 17, 15, 16, 19, 17, 12
Ancak, programınız herhangi bir modern makinede bir saniyenin altında herhangi bir n <2 50 için çalışmalıdır . Bazı büyük örnekler:
f(1099511627775) = 40
f(1099511627776) = 81
f(911188917558917) = 728765543
f(109260951837875) = 447464738
f(43765644099) = 5941674