[BAEKJOON] #1065 (Java)


Problem Link
Problem:
正の整数Xの各位置が等差数列である場合、その数を1つの数と呼ぶ.等差数列とは、連続する2つの数の差が一定の数列を指す.Nが与えられた場合、プログラムを作成し、1以上、N以下の数値を出力します.
最初の行は、1000以下の自然数Nを与える.
最初の行は、1以上、N以下の数値を出力します.
My Code:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class BaekJoon_1065 {
    public static void main(String[] args) throws IOException { 
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        System.out.print(arithmetic_sequence(Integer.parseInt(br.readLine())));
    }    

    public static int arithmetic_sequence(int n) {
        int count = 0;

        if (n < 100) {
            return n;
        } else { 
            count = 99;
            if (n == 1000) {
                n = 999;
            }

            for (int i = 100; i <= n; i++) {
                int hun = i / 100;
                int ten = i / 10 % 10;
                int one = i % 10; 

                if ((hun - ten) == (ten - one)) {
                    count++;
                }
            }
        }
        return count; 
    }
}
Input
210
Output
105