#!/usr/koeki/bin/ruby # coding: euc-jp def rice(kilo, chemical) # printf("重量 %d, 農薬 %d\n", kilo, chemical) kilo *= chemical # 農薬を散布すると収穫量が上がる kilo end def firefly(egg, chemical) # printf("卵 %d, 農薬 %d\n", egg, chemical) egg -= 2 ** chemical # 農薬を散布するとほたるの卵の数は減る egg end weight = 100 # 米の収穫量 i = 0 # 農薬散布の回数を数える変数 bug = 100 # 虫の数 i0 = 6 # 散布回数の初期設定 STDERR.printf("ほたるは %d 匹います。", bug) while i < i0 STDERR.printf("%d 回目の農薬を散布します。\n", i += 1) bug = firefly(bug, i) weight = rice(weight, i) if bug > 0 printf("米の収穫量: %d [kg]\tほたるの生息数 %d 匹\n", weight, bug) else printf("米の収穫量: %d [kg]\tほたるの生息数 %d 匹\n", weight, bug) printf("ほたるはいなくなりました。\n") end end