본문 바로가기

프로그래밍/백준

백준 1065번: 한수 (C언어)

https://www.acmicpc.net/problem/1065

 

1065번: 한수

어떤 양의 정수 X의 자리수가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 

www.acmicpc.net

 

더보기
#include<stdio.h>
#include<stdbool.h>

bool sequence(int value){
	int x, y, z;
	if(value<100) return true;
	
	x = value%10;
	y = value%100/10;
	z = value/100;
	
	if(x-y == y-z) return true;
	else return false;
}

int main(){
	int n, i, count;
	
	scanf("%d",&n);
	count = 0;
	
	for(i=1; i<=n; i++){
		if(sequence(i)==true) count++;
		//printf("%d: %d\n",i,count);
	}
	
	printf("%d",count);
	
	return 0;
}