def f( m , r , n ) a = m * pow( ( 1 + r ) , n ) return a end def pow( x , y ) a = 1; y.times { |i| a = a * x } return a end printf( " 金額? >" ) m = gets.to_i printf( " 利率? >" ) r = gets.to_f n = 1 (2..10).each { |p| while true do if f( m , r , n ) > ( m * p ) then break else n += 1 end end printf( "%d円を利率%3.2fで預けた時,元利合計は%d年後に%d円以上となります\n" , m , r , n , m*p ) }