[BOJ] 1065번 한수

chowisely·2021년 1월 5일
0

BOJ

목록 보기
51/70

문제 바로가기

접근

1~99까지는 무조건 한수이므로 100부터 판단하도록 했다.

#include <iostream>
using namespace std;

int main() {
  std::ios::sync_with_stdio(false);
  int N;
  int cnt = 0;
  int tmp, diff, res;
  bool flag;
  scanf("%d", &N);

  for(int i = 1; i <= N; i++) {
    flag = true;

    if(i >= 100) {
      res = i / 10 % 10;
      diff = res - i % 10;
      tmp = i / 100;
      while(tmp > 0) {
        if(diff != tmp % 10 - res) {
          flag = false;
          break;
        }
        res = tmp % 10;
        tmp /= 10;
      }
    }
    if(flag)
      cnt++;
  }

  cout << cnt;
}

0개의 댓글