-
[1일 1백준 : 1065번] 한수Programming/백준 2021. 1. 20. 14:34
이것도 많이 어려웠다..
문제 이해가 좀 덜가서 많이 고생했던 것 같다
#include <iostream> bool IsHansu(const int N) { int number = N; int digit = 0, prev = 0;; int tolerance = 0; int digits = 0; int index[4] = { 0 }; for (size_t i = 0; number != 0; i++) { digit = number % 10; index[i] = digit; number /= 10; digits++; } tolerance = (index[0] - index[1]); for (size_t i = 1; i < digits; i++) { if (i + 1 >= digits) break; prev = tolerance; tolerance = (index[i] - index[i + 1]); if (prev != tolerance) return false; } return true; } int main(void) { int N = 0; int cnt = 0; std::cin >> N; for (size_t i = 1; i <= N; i++) { if (IsHansu(i)) { cnt++; } } std::cout << cnt << std::endl; return 0; }
1065번: 한수
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나
www.acmicpc.net
'Programming > 백준' 카테고리의 다른 글
[1일 1백준 : 10809번] 알파벳 찾기 (0) 2021.01.20 [1일 1백준 : 11720번] 숫자의 합 (0) 2021.01.20 [1일 1백준 : 4673번] 셀프 넘버 (0) 2021.01.19 [1일 1백준 : 15596번] 정수 N개의 합 (0) 2021.01.18 [1일 1백준 : 4344번] 평균은 넘겠지 (2) 2021.01.17