euisblue
1065. 한수

1065: 한수

어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.

Ruby

1def hansoo(n) 2 n = n.to_s 3 a,b,c = [n[0].to_i, n[1].to_i, n[2].to_i] 4 return (a-b) == (b-c) 5end 6 7n = gets.chomp.to_i 8if n <= 99 9 puts n 10elsif n <= 110 11 puts 99 12elsif n == 1000 13 puts 144 14else 15 cnt = 100 16 for i in 112..n do 17 if hansoo(i) 18 cnt += 1 19 end 20 end 21 puts cnt 22end