Urutan berikutnya adalah urutan apa pun yang dapat Anda peroleh dari yang lain dengan menghapus jumlah karakter apa pun. The subsequences non-kosong yang berbeda dari 100
yang 0
, 1
, 00
, 10
, 100
. The subsequences non-kosong yang berbeda dari 1010
yang 0
, 1
, 00
, 01
, 10
, 11
, 010
, 100
, 101
, 110
, 1010
.
Tulis program atau fungsi yang diberi bilangan bulat positif n mengembalikan jumlah akhiran non-kosong yang berbeda dari ekspansi biner n .
Contoh: karena 4
berada 100
dalam biner, dan kami melihat bahwa ia memiliki lima urutan non-kosong yang berbeda di atas, jadi f(4) = 5
. Mulai dari n = 1 , urutan dimulai:
1, 3, 2, 5, 6, 5, 3, 7, 10, 11, 9, 8, 9, 7, 4, 9, 14, 17, 15, 16, 19, 17, 12
Namun, program Anda harus bekerja untuk n < 250 dalam waktu kurang dari satu detik pada mesin modern apa pun. Beberapa contoh besar:
f(1099511627775) = 40
f(1099511627776) = 81
f(911188917558917) = 728765543
f(109260951837875) = 447464738
f(43765644099) = 5941674