A. Баавгай ба анхны 100

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

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

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

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

Энэ бол системтэй харилцах бодлого. Гаралтын хэсгээс та гаралтыг хэрхэн гаргахыг харах болно.

Лимак баавгай $[2, 100]$ завсраас нэг бүхэл тоо санасан. Таны ажил бол санасан тоо нь анхны тоо мөн эсэхийг хэлэх явдал юм.

$x > 1$ бүхэл тоо нь хэрвээ яг хоёр ялгаатай $1$ ба $x$ хуваагчтай байвал анхны тоо байна. Хэрвээ $x > 1$ бүхэл тоо нь анхны тоо биш бол холимог гэж нэрлэнэ.

Та санасан тооны хуваагчдын талаар $20$ хүртэлх асуулга асууж болно. Асуулга бүрд та $[2, 100]$ завсраас нэг бүхэл тоо хэвлэх ёстой. Хэрвээ таны хэвлэсэн бүхэл тоо санасан тооны хуваагч байвал систем "$yes$" гэж хариулна. Бусад тохиолдолд хариулт "$no$" байна.

Жишээлбэл хэрвээ санасан тоо $14$ байсан тохиолдолд систем зөвхөн $2$, $7$ эсвэл $14$ гэсэн асуулгуудад л "$yes$" гэж хариулна.

Та асуулгуудаа асууж дуусаад "$prime$" эсвэл "$composite$" гэж хэвлээд програмаа дуусгана.

Хэрвээ та $20$-с их асуулга асуувал эсвэл та $[2, 100]$ завсраас гадуур орших тоо хэвлэвэл $Wrong Answer$ гэсэн хариу авна. Мөн хэрвээ таны хэвлэсэн хариулт буруу байвал $Wrong Answer$ гэсэн хариу авна.

Хэрвээ та юу ч хэвлэхгүй байвал (хэвлэх ёстой боловч) эсвэл та гаралтыг гаргахаа мартсан бол $Idleness Limit Exceeded$ гэсэн хариу авна (доор дэлгэрэнгүй мэдээлэл бий).

Оролт

Асуулга бүрийн дараа та оролтоос нэг тэмдэгт мөр унших ёстой. Хэрвээ хэвлэсэн бүхэл тоо нь санасан тооны хуваагч байвал оролтон дахь тэмдэгт мөр "$yes$" байх ба хуваагч биш бол "$no$" байна.

Гаралт

Та $20$ хүртэлх удаа асуулга асууж болно. Асуулга асуухдаа нэг мөрөнд $[2, 100]$ завсар дахь бүхэл тоо хэвлэнэ. Та шинэ мөрөнд гаралтыг гаргах хэрэгтэй. Гаралтыг гаргасны дараа та оролтоос хариуг унших хэрэгтэй.

Та хүссэн үедээ хариултыг буюу "$prime$" эсвэл "$composite$" (хашилтгүйгээр) гэж хэвлэж болно. Үүний дараа гаралтыг гаргах ба програмаа дуусгана.

Гаралтаа гаргахын тулд та (бүхэл тоо болон мөр хугалах тэмдэгт хэвлэсний дараа) дараах зүйлсийг ашиглаж болно:

  • C++ хэлэнд $fflush(stdout)$
  • Java хэлэнд $System.out.flush()$
  • Python хэлэнд $stdout.flush()$
  • Pascal хэлэнд $flush(output)$
  • Бусад хэлний хувьд хавсралтыг харна уу.

$Халдлага.$ Хэн нэгэнрүү халдахын тулд та $[2, 100]$ завсар дахь санасан тоог оролт хэлбэрээр хэвлэх ёстой. Мэдээж түүний шийдэл оролтоос санасан тоог унших боломжгүй болох болно.

Орчуулсан: Г.Мэндбаяр

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

Оролт
yes
no
yes
Гаралт
2
80
5
composite
Оролт
no
yes
no
no
no
Гаралт
58
59
78
78
2
prime

Тэмдэглэл

Эхний асуулга дахь санасан тоо нь $30$. Та доорх хүснэгтээс жишээн дээрх үйл явцыг илүү тодорхой харж болно.

Санасан тоо $2$ болон $5$-д аль алинд нь хуваагдана. Иймээс энэ тоо холимог тоо байна. Санасан тооны утгыг нь заавал мэдэх албагүй. Энэ жишээн дээр санасан тоо нь $30$.

$59$ нь санасан тооны хуваагч байна. $[2, 100]$ завсарт ийм хуваагчтай ганц л тоо байгаа. Санасан тоо нь $59$ болж таарах ба энэ тоо нь анхны тоо болно. Хариулт хоёр дахь асуулганы дараа тодорхой болсон учир та хариултаа хэвлээд програмаа дуусгаж болно. Та $20$ асуулга асуух эрхээсээ хэтрэхгүй л бол шаардлагагүй асуулга асуухыг зөвшөөрнө.

Сэтгэгдлүүдийг ачааллаж байна...