A. Петя болон Жава

хугацааны хязгаарлалт 2 секунд

санах ойн хязгаарлалт 256 мегабайт

оролт стандарт оролт

гаралт стандарт гаралт

Бяцхан Петя саяханаас програмчлалын клубд явж эхэлсэн. Мэдээж түүнд тулгарсан хамгийн эхний асуудал нь ямар програмчлалын хэл сонгох вэ гэдэг сонгох байлаа. Удаан бодсоны эцэст Жава хэл нь хамгийн сайн сонголт гэсэн дүгнэлтэнд хүрэв. Жаваг сонгох болсон гол шалтгаан нь BigInteger гэж нэрлэгдэх маш том тооны үйлдэл хийх чадвар байлаа.

Гэвч хэдэн хичээлд суусаны дараа түүнд BigInteger төрлийг дандаа ашиглаад байх шаардлагагүй байдгийг олж мэдэв. Зарим бодлогыг илүү жижиг төрлийг ашиглан бодох нь хамаагүй хялбар байдаг болж таарлаа. Тиймээс нэг асуулт гарч ирлээ "Эерэг $n$ тоог хадгалахыг тулд аль төрлийг ашиглах вэ?"

Петя таван төрөл мэднэ:

  • byte $1$ байт зай эзлэн $-128$-аас $127$ хүртэлх тоог хадгалж чаддаг
  • short $2$ байт зай эзлэн $-32768$-аас $32767$ хүртэлх тоог хадгалж чаддаг
  • int $4$ байт зай эзлэн $-2147483648$-аас $2147483647$ хүртэлх тоог хадгалж чаддаг
  • long 8 байт зай эзлэн $-9223372036854775808$-аас $9223372036854775807$ хүртэлх тоог хадгалж чаддаг
  • BigInteger үндсэн төрөл биш л бол ямар ч тоог хадгалж чадна гэвч түүн дээр хийгдэх үйлдлүүд хамаагүй удаан

Дээр өгөгдсөн төрлүүдэд бүх тоон интервалуудын хязгаарууд нь орно.

Энэ жагсаалтаас Петя $n$ тоог хадгалж чадах хамгийн жижиг төрлийг сонгохыг хүсэж байгаа. BigInteger төрөл маш улаан ажилдаг тул түүнийг хамгийн сүүлд тавьдаг. Түүнд тусал.

Оролт

Нэг мөрөнд $n$ тоо өгөгдөнө. Оронгийн тоо $100$-аас хэтрэхгүй ба урдаа тэг агуулаагүй байна. $n$ тоо хоосон тэмдэгт мөр байж чадахгүй.

C++ хэл дээр 64-битийн тоо хэрэглэх үед %lld-г хэрэглэхгүй байхыг зөвлөж байна. %I64d эсвэл cin, cout стриймийг ашиглана уу.

Гаралт

"byte, short, int, long, BigInteger" жагсаалтаас $n$ тоог хадгалж чадах хамгийн эхний төрлийг хэвлэнэ үү.

Орчуулсан: Энхсанаа

Жишээ тэстүүд

Оролт
127
Гаралт
byte
Оролт
130
Гаралт
short
Оролт
123456789101112131415161718192021222324
Гаралт
BigInteger
Сэтгэгдлүүдийг ачааллаж байна...