경험의 기록

문제 : www.acmicpc.net/problem/1065

 

1065번: 한수

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

www.acmicpc.net

 

풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// 1065 한수
#include <iostream>
using namespace std;
 
int hansu(int n) {
    int count = 0;
    for (int i = 1; i <= n; i++) {
        if (i < 100) {
            count++;
        } // 한자리, 두자리 수는 다 등차수열
 
        if (i>=100 && i < 1000) {
            int q = (i / 100); // 백의 자리
            int w = (i % 100/ 10// 십의 자리
            int e = i % 10// 일의 자리
 
            if ((w - q) == (e - w)) {
                count++;
            }  
        } // 세자리 수 등차수열 판별
    }
    return count;
}
int main()
{
    int n;
 
    cin >> n;
    cout << hansu(n) << endl;
    return 0;
}
cs

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading