PS/Baekjoon Online Judge

[백준 1065] 한수 [C]

kimyoungrok 2021. 7. 18. 15:42
728x90

백준 - 1065


풀이

원래는 Brute Force로 해결하는 문제지만, 수의 범위가 작기 때문에 다음과 같이 풀이했.

  • 1 ~ 99는 비교할 다음 자리의 수가 없기 때문에 한수이다.
  • 백의자리 - 십의자리 = 십의자리 - 일의자리가 같으면 한수이다.

소스코드

#include <stdio.h>
int ap(int n){
    int cnt = 0;
    for (int i = 1; i <= n; i++)
        if ( i > 0 && i < 100) cnt ++;
        else if (i/100 - (i%100)/10 == (i%100)/10 - ((i%100)%10)) cnt++;
    return cnt;
}
int main(){
    int N;
    scanf("%d", &N);
    printf("%d", ap(N));
}

출처

 

1065번: 한수

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

www.acmicpc.net

 

728x90

'PS > Baekjoon Online Judge' 카테고리의 다른 글

[백준 10156] 과자 [C]  (0) 2021.07.19
[백준 5622] 다이얼 [C]  (0) 2021.07.18
[백준 4673] 셀프 넘버 [C]  (0) 2021.07.18
[백준 15596] 정수 N개의 합 [C]  (0) 2021.07.18
[백준 1110] 더하기 사이클 [C]  (0) 2021.07.18