use strict; use warnings; use utf8; my $want_num = ; chomp $want_num; my $biscuit = 1; my $i = 0; # ビスケットが2の累乗でないような # "間の数" は今ある数の中から選んでポケットに入れることで調整する # 奇数は奇数個残して偶数をポケットに入れることで調整できる for ( ; $want_num > $biscuit; $i++) { $biscuit = (2 ** $i); } # よくわからないがこれで調整している $i -= 1; if ($i <= 1) { $i = 0; } print $i;