PS/Baekjoon Online Judge
[백준 1065] 한수 [C]
kimyoungrok
2021. 7. 18. 15:42
728x90
풀이
원래는 Brute Force로 해결하는 문제지만, 수의 범위가 작기 때문에 다음과 같이 풀이했.
- 1 ~ 99는 비교할 다음 자리의 수가 없기 때문에 한수이다.
- 백의자리 - 십의자리 = 십의자리 - 일의자리가 같으면 한수이다.
소스코드
#include <stdio.h>
int ap(int n){
int cnt = 0;
for (int i = 1; i <= n; i++)
if ( i > 0 && i < 100) cnt ++;
else if (i/100 - (i%100)/10 == (i%100)/10 - ((i%100)%10)) cnt++;
return cnt;
}
int main(){
int N;
scanf("%d", &N);
printf("%d", ap(N));
}
출처
1065번: 한수
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나
www.acmicpc.net
728x90