티스토리 뷰

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

 

1065번: 한수

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

www.acmicpc.net

#include<iostream>
#include<string>
using namespace std;

//한수
bool hansu(int x) {
	if (x < 100)
		return true;
	else if (x == 1000)
		return false;
	else {
		int a, b, c, d, num=x;
		d = num / 1000;		num -= d * 1000;
		c = num / 100;		num -= c * 100;
		b = num / 10;		num -= b * 10;
		a = num;

		if ((a - b) == (b - c))
			return true;
		else
			return false;
	}
}
int main(void) {
	int N, t=0;
	cin >> N;
	for (int i = 1; i <= N; i++) {
		if (hansu(i)) {
			t++;
		}
	}
	cout << t;
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
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 31
글 보관함