#!/usr/bin/ruby
# Reverse a base 10 positive integer.
func number_length(n) {
var len = 0
while (n > 0) {
n //= 10
++len
}
return len
}
func reverse_number(n) {
var r = 0
var p = 10**(number_length(n)-1)
while (n > 0) {
r += p*(n%10)
n //= 10
p /= 10
}
return r
}
assert_eq(reverse_number(123456789), 987654321)
assert_eq(reverse_number( 23456789), 98765432 )
assert_eq(reverse_number(987654321987654321), 123456789123456789)
assert_eq(reverse_number(98765432_98765432 ), 23456789_23456789)
say "** Test passed!"