본문 바로가기
개발 노트/백준, 프로그래머스 풀이

[백준 1065/c++] 한수

by tokkiC 2022. 7. 21.

자리수끼리 빼서 그 차이가 같을때 카운트 하면 되는 간단한 문제

string 을 이용해서 자리수별로 숫자를 따와서 비교해도 되지만

자리수도 3자리뿐이니 그냥 숫자만으로 풀었다

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

 

1065번: 한수

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

www.acmicpc.net

#include <bits/stdc++.h>
using namespace std;

int main(){
	
	int n;
	int a, b, c;
	int cnt = 0;
	
	cin >> n;
	if (n < 100)
	{
		cnt = n;
	}
	if (n == 1000)
	{
		n = 999;
	}
	if (n >= 100 && n <1000)
	{
		for (int i = 100; i <= n; i++)
		{
			a = i / 100;
			b = (i % 100) / 10;
			c = i % 10;			
			if (a - b == b - c)
			{
				cnt++;
			}
		}
		cnt += 99;
	}
	cout << cnt << "\n";
	
	return 0;
}

댓글