Giai thừa (THTB KV Miền Bắc & Trung 2026)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2300 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Ta nhận thấy rằng với \(n\) lớn, các chữ số cuối cùng của \(n!\) luôn có dạng \(\dots \overline{d_k d_{k-1} \dots d_2 d_1 00 \dots 00}\), với \(d_1 \neq 0\). Hãy tìm các chữ số \(d_k, d_{k-1}, \dots, d_2, d_1\) ở trên.

Input

  • Dòng đầu tiên chứa hai số nguyên dương \(T\) (số lượng test cases) và \(k\) (số lượng chữ số cần tìm).
  • Dòng thứ hai chứa \(T\) số nguyên dương \(n_1, n_2, \dots, n_T\) là các test case.

Output

  • Một dòng duy nhất chứa \(T\) xâu, xâu thứ \(i\) gồm \(k\) chữ số \(\overline{d_k d_{k-1} \dots d_2 d_1}\) viết liền kề, mỗi xâu cách nhau bằng một khoảng trắng.

Constraints

  • \(T = 5\)
  • Subtask \(1\) (\(10\%\)): \(n \leq 10^6, k = 1\)
  • Subtask \(2\) (\(20\%\)): \(n \leq 10^6, k = 6\)
  • Subtask \(3\) (\(35\%\)): \(n \leq 10^{18}, k = 1\)
  • Subtask \(4\) (\(25\%\)): \(n \leq 10^{18}, k = 6\)
  • Subtask \(5\) (\(10\%\)): \(n \leq 10^{18}, k = 9\)

Example

Test 1

Input
4 2
10 11 12 13
Output
88 68 16 08
Note
  • \(10! = 362\mathbf{88}00\)
  • \(11! = 3991\mathbf{68}00\)
  • \(12! = 47900\mathbf{16}00\)
  • \(13! = 622702\mathbf{08}00\)

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: