알고리즘/백준
백준 1065_한수
래울
2020. 10. 9. 10:54
https://www.acmicpc.net/problem/1065
1065번: 한수
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 ��
www.acmicpc.net
한수?
한수는 각 자리수가 등차수열을 이루는 수를 칭한다.
또한 한자리수와 두자리수의 경우 모두 한수에 포함된다.
ex) 135 +2의 공차를 가짐, 840 -4의 공차를 가짐
문제에서 N의 범위를 1~1000으로 줬기 떄문에 아래와 같이 풀이 할 수 있다.
#include <stdio.h>
int check_hansu(int num){
int a=num/100;
int b=(num%100)/10;
int c=num%10;
if(a+c == 2*b)
return 1;
return 0;
}
int cnt_hansu(int n){
int i;
int hansu=99;
if(n<100)
return n;
for(i=100; i<=n; i++){
if(check_hansu(i))
hansu++;
}
return hansu;
}
int main()
{
//한수
int N; //1~1000
scanf("%d", &N);
printf("%d\n", cnt_hansu(N));
return 0;
}