본문 바로가기

Programming/Algorithm

[C++]백준 1065번 : 한수

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


#include <iostream>

using namespace std;


int han(int n);

int main() {

int N;

int cntOfHan = 0;

do {

cin >> N;

} while (N < 1 || N>1000);


for (int i = 1; i <= N; i++)

if (han(i)) cntOfHan++;


cout << cntOfHan;

}

int han(int n) {

int originN = n;

int digitCnt = 0;

int ToF = true;

do {

originN = originN / 10;

digitCnt++;

} while (originN > 0);


int *digit = new int[digitCnt];

for (int i = 0; i < digitCnt; i++) {

digit[i] = n % 10;

n = n / 10;

}

if (digitCnt > 2)

if((digit[digitCnt-1] - digit[digitCnt - 2]) != digit[digitCnt - 2] - digit[digitCnt - 3])

ToF = false;

return ToF;

}