CodeIQ バイナリカウント問題
今回、講義中暇だったので、バイナリカウント問題を解いたので、公開しておきます〜!
挑戦者求む!数学の問題をプログラミングで解こう!二進数の1の個数を数えて下さい。 by @riverplus Kawazoe│CodeIQcodeiq.jp
$n=<STDIN>; $two=1; $i=0; $ans=0; while(1){ $i++; $ans+=int($n/($two*2))*$two; if($n % ($two*2)<$two){$ans+=($n % ($two*2))} else{$ans+=$two} $n-=$two; $two*=2; if($n<=0){last} } print $ans."\n";
スッキリ書けてるかな???