Baekjoonアルゴリズム | 1065番問題: ハンス

出典

https://www.acmicpc.net/problem/1065

問題

Baekjoon Online Judgeの1065番問題、ハンスを解きます。

入力

正確な入力形式と制約は元の問題文に従います。

出力

問題で求められる答えを出力します。

サンプル入力 1

110

サンプル出力 1

99

サンプル入力 2

1

サンプル出力 2

1

サンプル入力 3

210

サンプル出力 3

105

サンプル入力 4

1000

サンプル出力 4

144

サンプル入力 5

500

サンプル出力 5

199

アルゴリズム分類

  • 全探索

解説

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

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

            int n = Integer.parseInt(br.readLine());

            int count = 0;
            if (n < 100) {
                count = n;
            } else {
                count = 99;

                int loop = n;
                if (n == 1000)
                    loop = 999;

                for (int i = 100; i <= loop; i++) {

                    int a = i % 10;
                    int b = (i / 10) % 10;
                    int c = (i / 100) % 10;

                    if (a - b == b - c) {
                        count++;
                        //System.out.println("i=" + i + ", count=" + count + ", a=" + a + ", b=" + b + ", c=" + c + ", result=" + (a - b == b - c));
                    }

                }
            }

            System.out.println(count);
        }
    }
}