알고리즘/백준

1065>한수

Diademata 2017. 12. 16. 20:31
반응형

https://www.acmicpc.net/problem/1065


문제

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


입력

첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 


code>>


#include<stdio.h>

using namespace std;

int GetValue(int input, int size)

{

if (size == 1) return input % 10;

return GetValue(input / 10, size -1);

}

int main()

{

int input = 110;

scanf("%d", &input);

int count = 99;

if (input < 100)

{

count = input;

}

else

{

for (int i = 100; i <=input; i++)

{

if (i == 1000) continue;

count += GetValue(i ,3) - GetValue(i, 2) == GetValue(i,2) - GetValue(i,1);

}

}

printf("%d\n", count);

    return 0;

}

반응형