[210212][伯俊/BOJ]100093番数字


質問する



にゅうしゅつりょく



に答える


これは簡単そうに見える問題ですが、考えなければならない問題がたくさんあります.
第1に、2つの整数AおよびBは、1〜10の15勝の範囲を有する.
したがって,int型には2つの整数を含めることはできない.
int型は最大21億程度まで装着でき,この値を超えるとオーバーフローが発生する.
したがって,より多くの範囲の数を収容できる長い資料型を用いるべきである.
第二に、Bが必ずAより大きいとは保証できないので、あらゆる方法を考えなければならない.
AはBより大きい数、AとBは等しい数、AはBより小さい数である.

コード#コード#

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

int main()
{
	long long A, B;
	cin >> A >> B;

	if (A > B)
	{
		std::swap(A, B);
	}
	if (A < B)
	{
		printf("%lld\n", B - A - 1);
		for (long long i = A + 1; i < B; i++)
			printf("%lld ", i);
	}
	else
		printf("0");
}