# 灘中学校の入試問題から # 207, 2007, 20007, ... のうち 27 で割れて 81 で割れないものを見つける. # 第一の方法 for i in 1..22 # 答を見つけ次第終わらせてもよかったが, # パタンを見つけるために余分な計算をさせてみる. a = 2*10**(i+1)+7 # ベキ乗 if a % 81==0 puts "#{a} は 81 で割れてしまう" elsif a % 27==0 puts "#{a} は 27 で割れるが 81じゃ割れない.正解候補!" else puts "#{a} は 27 でも割れないのでダメ" end end # 第二の方法 # 上とちがって,ベキ乗 なしでやってみた. a=20 # a_1=200, a_2=2000, a_3=20000, ..., a_i=a_{i-1}*10, ... for i in 1..22 # 答を見つけ次第終わらせてもよかったが, # パタンを見つけるために余分な計算をさせてみる. a = a*10; b = a+7; if b % 81==0 puts "#{b} は 81 で割れてしまう" elsif b % 27==0 puts "#{b} は 27 で割れるが 81じゃ割れない.正解候補!" else puts "#{b} は 27 でも割れないのでダメ" end end