[백준/BOJ] 백준 10093번 : 숫자
2020. 8. 2. 04:35ㆍ알고리즘 문제풀이
https://www.acmicpc.net/problem/10093
a와 b를 입력받고 두 수 사이의 개수를 구한 뒤 두 수 사이의 값들을 구한다. 이 문제에서 주의해야 될 점은 a와 b가 매우 큰 수가 입력될 수 있으므로 long long 형 변수를 선언한 점과 a와 b가 같을 때 두 수 사이의 개수가 없다는 점과 a와 b 중 a가 더 클 수도 있다는 점이다.
코드
#include <iostream>
using namespace std;
int main()
{
cin.tie(NULL);
ios_base::sync_with_stdio(false);
long long a, b; //a와 b에 입력될수 있는 수가 매우 커서 long long형으로 변수 선언을 하였다
int num; //a와 b의 차이가 최대 100000이므로 num은 int형 변수로 해도 상관없다
long long ab_min; //a와 b중 작은 수를 저장
cin >> a >> b;
//두 수가 값을때에는 두 수 사이에 개수가 없다(이때는 b-a-1 또는 a-b-1로 두 수 사이의 개수를 구할 수 없다)
if (a == b)
num = 0;
else if (a < b)
{
ab_min = a;
num = b - a - 1;
}
else if (a > b)
{
ab_min = b;
num = a - b - 1;
}
cout << num << "\n";
//ab_min+1부터 순서대로 num개를 출력한다
for (long long i = ab_min + 1; i < ab_min + 1 + num; i++)
{
cout << i << " ";
}
return 0;
}
'알고리즘 문제풀이' 카테고리의 다른 글
[백준/BOJ] 백준 1267번 : 핸드폰 요금 (0) | 2020.08.02 |
---|---|
[백준/BOJ] 백준 2577번 : 숫자의 개수 (0) | 2020.08.02 |
[백준/BOJ] 백준 2587번 : 대표값2 (0) | 2020.08.02 |
[백준/BOJ] 백준 2576번 : 홀수 (0) | 2020.08.02 |
[백준/BOJ] 백준 2562번 : 최댓값 (0) | 2020.08.02 |