From: Giampiero Zanchi Date: 2012-02-09T21:18:14+09:00 Subject: Re: Range in a loop hello this is simple; you could try yourself anyway... def odd_even_numbers n # this function calculates next number in the sequence if n % 2 == 0 # identifies even number return n / 2 # even number is divided by two else return n * 3+1 # odd number is multiplied by three plus one end end print "Give me two numbers (blank separated): " num1, num2 = gets.chop.split(" ").map {|x| x.to_i } # changes into integers, reads it max_seq = 0 ; max_seq_num = 0 num1.upto(num2) do |num| n = num counter = 1 while n > 1 # stops when it reaches number one n = odd_even_numbers(n) counter += 1 end if counter > max_seq max_seq = counter max_seq_num = num end end puts "Max seq lenght: #{max_seq}" puts "Max seq num: #{max_seq_num}" add controls, for instance to be sure that 2 numbers in input, num1 < num2, and so on -- Posted via http://www.ruby-forum.com/.