두 양의 정수가 주어졌을 때, 두 수 사이에 있는 정수를 모두 출력하는 프로그램을 작성하시오.
두 정수 A와 B가 주어진다.
첫째 줄에 두 수 사이에 있는 수의 개수를 출력한다.
둘째 줄에는 두 수 사이에 있는 수를 오름차순으로 출력한다.
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 30 | 1 ≤ A, B ≤ 1000. |
| 2 | 70 | 1 ≤ A, B ≤ 10^15, A와 B의 차이는 최대 100,000. |
8 14
5
9 10 11 12 13
#include <iostream>
using namespace std;
int main(void)
{
long long A, B;
cin >> A >> B;
// A = B인 경우
if (A == B)
cout << "0\n";
// A > B인 경우
else if (A > B)
{
cout << A - B - 1 << "\n"; // B~A 사이 정수의 개수
for (long long i = B+1; i < A; i++) // 정수 출력
cout << i << " ";
cout << "\n";
}
// A < B인 경우
else if (A < B)
{
cout << B - A - 1 << "\n"; // A~B 사이 정수의 개수
for (long long i = A+1; i < B; i++) // 정수 출력
cout << i << " ";
cout << "\n";
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] s = br.readLine().split(" ");
long A = Long.parseLong(s[0]);
long B = Long.parseLong(s[1]);
// A = B인 경우
if (A == B)
System.out.println("0");
// A > B인 경우
else if (A > B)
{
System.out.println(A - B - 1); // B~A 사이 정수의 개수
for (long i = B+1; i < A; i++)
System.out.print(i + " ");
System.out.println();
}
// A < B인 경우
else if (A < B)
{
System.out.println(B - A - 1); // A~B 사이 정수의 개수
for (long i = A+1; i < B; i++) // 정수 출력
System.out.print(i + " ");
System.out.println();
}
}
}