티스토리 뷰

PS/백준

1065번 한 수

unside 2019. 6. 22. 16:33

백준 1065번

문제 사이트 :
https://www.acmicpc.net/problem/1065

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>

using namespace std;

#define Max 10001

bool check[Max] = { false, };

int main(void) {
	//1 자리, 2자리 수는 무조건 등차
	for (int i = 1; i < 100; i++) {
		check[i] = true;
	}
	for (int i = 100; i < Max; i++) {
		int index = log10(i) + 1; //자릿수
		int Arr[5];
		int Arr_1[5];
		int num = i;
		for (int l = 0; l < index; l++) { //자릿수 분할
			Arr[l] = num % 10;
			num = num / 10;
		}
		for (int l = 0; l < index - 1; l++) { //각 자릿수 차이값
			Arr_1[l] = Arr[l] - Arr[l + 1];
		}
		bool ch = true;
		for (int l = 0; l < index - 2; l++) { //두 값을 비교하여 다르면 false
			if (Arr_1[l] != Arr_1[l + 1])
				ch = false;
		}
		check[i] = ch;
	}
	int A;
	scanf("%d", &A);
	int number = 0;
	for (int i = 1; i <= A; i++) {
		if (check[i])
			number++;
	}
	printf("%d", number);
	return 0;
}

'PS > 백준' 카테고리의 다른 글

1152번 단어의 개수  (0) 2019.06.22
1110번 더하기 사이클  (0) 2019.06.22
4344번 평균은 넘겠지  (0) 2019.06.18
15552번 빠른 A+B  (0) 2019.06.18
11721번 열 개씩 끊어 출력하기  (0) 2019.06.18
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함