過去ログ
「数学」小旅行
ビット演算を使うと、つぎのようにできました。
k=0
for i in 1..2**9-1
if (i|i<<1)==2**10-1 then k+=1 end
end
p k
2進数で表して、1から111111111(9個)までについて、
一桁だけビットシフトします。それと元の数とのORをとって、
1111111111(10個)になるものの個数を数えました。
8月27日(金) 10:39:47
50814
過去問題一覧へ戻る