Давталттай хуваагч


Submit solution

Points: 4
Time limit: 0.5s
Memory limit: 16M

Author:
Problem type
Allowed languages
C++

Танд \(x\) бүхэл тоо өгөгдөхөд дараах функцийг тодорхойлъё:

  • \( f(x) : x\) тооны өөрөөс нь ялгаатай хамгийн их хуваагч

Жишээ:

  • f(10) = 5
  • f(12) = 6
  • f(17) = 1

Одоо та энэ функцийг дараах байдлаар давтан хэрэглэнэ:

\(K \rightarrow f(K) \rightarrow f(f(K)) \rightarrow \cdots\)

Энэ үйлдлийг 1 болтол давтана.

? Таны хийх зүйл:

Энэ процесс нийт хэдэн алхмын дараа 1 -д хүрэхийг ол.

Оролт:

  • Эхний мөрөнд нэг бүхэл тоо: Q — асуулгын тоо

Дараагийн Q мөр бүрт нэг асуулга байна: x

Гаралт:

  • Асуулга бүрийн хариу болох нэг бүхэл тоо тус бүрийг нэг нэг мөрөнд хэвлэнэ

Хязгаарлалтууд:

  • \(1 \le Q \le 1000\)
  • \(1 \le x < 10^{12}\)
Дэд бодлого
Дэд бодлого оноо Хязгарлалт Тайлбар
1 Дэд бодлого -1 1 \(Q \le 10, x \le 10^3\)
2 Дэд бодлого -2 1 \(Q \le 100, x \le 10^5\)
3 Дэд бодлого -3 1 \(Q \le 1000, x \le 10^9\)
4 Дэд бодлого -4 1 \(Q \le 500, x \le 10^{12}\)

Жишээ:

Оролт-1
4
10
12
17
1
Гаралт-1
2
3
1
0
Оролт-2
4
3 2
1 8
2 15
3 9
Гаралт-2
2
4
NO
3

Comments

There are no comments at the moment.