[C++ 백준] 1065 한수
728x90
반응형
블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다.
문제 설명
- 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다.
등차수열: 연속된 두 개의 수의 차이가 일정한 수열 - N이 주어졌을 때, 1보다 크거나 같고 N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.
(N <=1,000)
풀이 전략
- 100 미만의 두 자릿수는 등차수열인지 판단할 다른 자릿수가 없기 때문에 모두 한수가 된다.
- 100 이상의 3자리 수부터는 각 자리의 수를 비교해 등차수열인지 판단하고, 등차 수열이 성립할 때 한수로 판단한다.
ex. 123 -> (3-2) == (2-1): 한수
소스 코드
#include <iostream>
using namespace std;
int GetNum( int x )
{
int result = 0;
if (x < 100)
return x;
else
{
for (int i = 100; i <= x; ++i)
{
int hand = i / 100;
int ten = (i % 100) / 10;
int one = (i % 100) % 10;
if (hand - ten == ten - one)
++result;
}
}
return (99 + result);
}
int main()
{
int x;
cin >> x;
cout << GetNum(x);
}
링크
https://www.acmicpc.net/problem/1065
728x90
반응형
'문제풀이 > BOJ' 카테고리의 다른 글
[C++ 백준] 11651 좌표 정렬하기2 (0) | 2021.06.14 |
---|---|
[C++ 백준] 1929 소수 구하기 (0) | 2021.06.13 |
[C++ 백준] 1002 터렛 (0) | 2021.06.09 |
[C++ 백준] 1436 영화감독 숌 (0) | 2021.05.31 |
[C++ 백준] 10250 ACM 호텔 (0) | 2021.05.29 |
댓글
이 글 공유하기
다른 글
-
[C++ 백준] 11651 좌표 정렬하기2
[C++ 백준] 11651 좌표 정렬하기2
2021.06.14 -
[C++ 백준] 1929 소수 구하기
[C++ 백준] 1929 소수 구하기
2021.06.13 -
[C++ 백준] 1002 터렛
[C++ 백준] 1002 터렛
2021.06.09 -
[C++ 백준] 1436 영화감독 숌
[C++ 백준] 1436 영화감독 숌
2021.05.31