[백준 1065번] 한수
문제
각 자리수가 등차 수열인 수를 한수라고 한다. 그래서 한 자리수와 두 자리수는 무조건 한수 인 것이다. 그리고 111, 123, 135 와 같은 수는 한수라는 것이다.
코드
#include <iostream>
int main()
{
int n;
int cnt = 0;
std::cin >> n;
if (n < 100)
{
cnt += n;
}
else
{
cnt += 99;
for (int i = 100; i <= n; i++)
{
int a = i / 100;
int b = i / 10 % 10;
int c = i % 10;
if ((b - a) == (c - b))
{
cnt++;
}
}
}
std::cout << cnt << std::endl;
}
풀이
1부터 1000까지만 입력이 가능하기 때문에 가능한 코드이다. 여튼 입력받은 수가 100 이하라면 입력받은 수까지 모두 한수이고, 입력받은 수가 100 이상이라면 (십의 자리수 - 백의 자리수)와 (일의 자리수 - 십의 자리수) 를 비교해서 등차수열인지 아닌지를 확인한다.
댓글남기기