#백준 #acmicpc #Baekjoon #코딩 #알고리즘
#include <stdio.h>
#include <stdbool.h> // about boolean type
#include <stdlib.h>
#include <math.h> // power operator
int getDigits(int num);
bool isHansu(int num);
int main(void) {
// 자연수 N - $num
int num = 0;
int count = 0;
// printf("| Insert N which is equal or less than 1,000. :");
scanf("%d", &num);
int res = isHansu(num);
// printf("test1: %d\n", res);
int i;
for(i = 1; i <= num; i++){
if(isHansu(i)){
// printf("%d is Hansu,\n", i);
count++;
}
}
printf("%d", count);
return 0;
}
int getDigits(int num) {
if(num/1000000000 != 0) return 10;
if(num/100000000 != 0) return 9;
if(num/10000000 != 0) return 8;
if(num/1000000 != 0) return 7;
if(num/100000 != 0) return 6;
if(num/10000 != 0) return 5;
if(num/1000 != 0) return 4;
if(num/100 != 0) return 3;
if(num/10 != 0) return 2;
//if(num/1 != 0)
return 1;
}
bool isHansu(int num) {
bool result = true;
int digits = getDigits(num);
int* div = (int*)malloc(sizeof(int) * (digits+1));
int i;
for(i = digits; i>0; i--) {
div[i] = num/pow(10.0, (i-1));
div[i] %= 10;
}
for(i = digits; i>2; i--) {
if(div[i-1] - div[i] != div[i-2] - div[i-1])
result = false;
}
free(div);
return result;
}
| 글이 도움이 되었다면 공감❤️ 부탁드립니다.
| 모든 댓글 환영합니다.
| Instargram @00_minwooky
'프로그래밍 > Baekjoon Online Judge' 카테고리의 다른 글
BOJ 1449 수리공항승 [C언어] (0) | 2021.10.10 |
---|---|
[BOJ 풀이] Baekjoon 11654번 코드 및 풀이 (C언어) (0) | 2021.10.02 |