본문 바로가기
7장 기타/백준 BOJ

[백준/BOJ] 1065번 한수 (C++)

2021. 5. 21.
 

1065번: 한수

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

www.acmicpc.net

문제의 소재

1이상 N이하의 한수의 개수를 구하는 문제이다.

해답

// BOJ_1065.cpp
#include <iostream>
using namespace std;

bool arith(int);

int main()
{
    int N, answer;
    
    cin>>N;
    answer = 0;
    for (int i=1;i<=N;i++)
        if (arith(i) == true) answer++;
    cout<<answer<<endl;
    
    return 0;
}

bool arith(int n)
{
    if (n<100) return true;
    while (n>=100)
    {
        if (n/100%10-n/10%10 != n/10%10-n%10) return false;
        n /= 10;
    }
    return true;
}
반응형

댓글