본문 바로가기

Baekjoon/C++

[C++][BOJ/백준] 1065 한수

 

 

Baekjoon Online Judge

 

클릭 시 문제로 이동

 

 

[문제]

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

 

 

[입력]

첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.

 

 

[출력]

첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.

 

 


 

[코드]

#include <iostream>
using namespace std;

int main()
{
    int N, cnt = 99;

    cin >> N;

    if (N < 100)
    {
        cout << N << '\n';
        return 0;
    }

    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))
            cnt++;
    }

    cout << cnt << '\n';

    return 0;
}

 

 

 

'Baekjoon > C++' 카테고리의 다른 글

[C++][BOJ/백준] 1026 보물  (0) 2025.04.06
[C++][BOJ/백준] 28702 FizzBuzz  (0) 2025.03.21
[C++][BOJ/백준] 16395 파스칼의 삼각형  (0) 2025.03.20
[C++][BOJ/백준] 10799 쇠막대기  (0) 2025.03.12
[C++][BOJ/백준] 1874 스택 수열  (0) 2025.03.08