#include <string>
#include <queue>
#include <algorithm>
#include <vector>
#include <iostream>
#include <stdio.h>
using namespace std;
#define MAX_SIZE 1000
int n;
int main()
{
int Answer = 0;
cin >> n;
if(n<100)
{
Answer = n;//
}
else
{
for (int i = 1; i <= n; i++)
{
if (i >= 1000) break;
if(i<100)
{
Answer++;
}
else
{
int iTemp = i;
int Arr[3] = { 0, };
int j = 0;
while(iTemp>0)
{
int iTemp1 = iTemp % 10;//나머지가져온다
Arr[j] = iTemp1;//이부분은 등차수열을 구하기 위함입니다.
j++;
iTemp = iTemp / 10; //10으로 나눈다.
}
if(Arr[0]-Arr[1] == Arr[1]-Arr[2])
{
Answer++;
}
}
}
}
cout << Answer;
return 0;
}
이문제는
nt iTemp = i;
int Arr[3] = { 0, };
int j = 0;
while(iTemp>0)
{
int iTemp1 = iTemp % 10;//나머지가져온다
Arr[j] = iTemp1;//이부분은 등차수열을 구하기 위함입니다.
j++;
iTemp = iTemp / 10; //10으로 나눈다.
}
if(Arr[0]-Arr[1] == Arr[1]-Arr[2])
{
Answer++;
}
이부분이 핵심이다
등차수열의 차이를 구하기 위해 배열 3짜리를 선정했고,
각 자리수를 가져올때 나머지 10을 가져오고(배열에 넣고)
원래수는 원래수 /= 10 을 한다.
동시에 위 배열은 위와같은 행위를 하며 j++ 를 한다.