google パズル
「1から1000の中に3を含んだ整数は全部でいくつあるでしょうか?」
これプログラム書いたら一発じゃね??wwwww
って事でRubyで書いてみました。
cnt = 0
for i in 1..1000
i.to_s.scan(/\d/) do |tes|
if tes=="3" then
cnt=cnt+1
break
end
end
end
p cnt
これじゃだめって?(笑)
普通に考えるなら、だいたいの人は1の位から数えますが
この場合は百の位から数えた方がダブりなく数えられます。
300−399でちょうど100個
次は100の位が3以外の数で、且つ10の位が3の数
*30ー*39
*のは0、1、2、4、5、6、7、8、9が入るので
9×10=90個
最後は100の位も10の位も3以外の数で、1の位が3の数
**3
*はさっきと同じで0、1、2、4、5、6、7、8、9なので
9×9=81
合計100+90+81=271
Googleがほしがるスマート脳のつくり方 ニューエコノミーを生き抜くために知っておきたい入社試験の回答のコツ
- 作者: ウィリアム・パウンドストーン,桃井緑美子
- 出版社/メーカー: 青土社
- 発売日: 2012/07/24
- メディア: 単行本
- クリック: 26回
- この商品を含むブログ (3件) を見る