알고리즘/백준
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;
}
반응형