https://www.acmicpc.net/problem/1065
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 
첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.
3가지 경우로 나누어서 생각한다.
-> n만큼의 한수가 존재
if (n >= 1 && n <= 99) { cout << n; }
-> 144개의 한수 존재(예제 참조)
else if(n==1000){ cout << 144; }
-> 100부터 n까지의 숫자를 모두 검증해야 함
세자리수인 것을 알기 때문에, 3칸 크기의 배열을 만들어서 각 자리 수를 파싱해서 넣는다.
그리고 1,2번째 자리 숫자의 차이와 2,3번쨰 자리 숫자의 차이를 비교한다.
bool cal(int n) {
	int arr[4] = { -1, };
	int dif = 100000;
	for (int i = 0; i < 4; i++) {
		if (n == 0) break;
		arr[i] = n % 10;
		n = n / 10;
	}
	dif = arr[1] - arr[0];
	if (dif != arr[2] - arr[1]) return false;
	else return true;
}
int main()
{
	cin.tie(0);
	cout.tie(0);
	cin.sync_with_stdio(0);
	int n;
	cin >> n;
	if (n >= 1 && n <= 99) {
		cout << n;
	}
	else if(n==1000){
		cout << 144;
	}
	else {
		int total = 99;
		for (int i = 100; i <= n; i++) {
			if (cal(i)) {
				total++;
			}
		}
		cout << total;
	}
}