trang chủ / bài tập / primemulti

Tích các số nguyên tố

Đề bài

Mô tả

Tạo một số S độ dài vô hạn bằng cách ghép các số nguyên tố có giá trị tăng dần lại với nhau, bắt đầu từ số 2. Các chữ số đầu tiên của S23579111317192329...

Cho T testcase, mỗi testcase bao gồm một số nguyên dương k. Nhiệm vụ của bạn là tính tích k chữ số đầu tiên của S. Vì kết quả có thể rất lớn nên hãy xuất kết quả sau khi mod 109+7.

Dữ liệu vào

  • Dòng đầu tiên gồm số nguyên dương T thể hiện số testcase (T105).
  • T dòng sau, mỗi dòng gồm số nguyên dương k (k1018).

Dữ liệu ra

Gồm T dòng, mỗi dòng xuất ra kết quả ứng với testcase đó.

Ràng buộc

  • 1T105
  • 1k1018
  • 30% số điểm có k100100.
  • 70% số điểm còn lại không có giới hạn gì thêm.

Ví dụ

Input Output Giải thích
6
1
2
3
4
5
8
2
6
30
210
210
630
S=23579111317.... Với k=1: tích =2. Với k=2: tích =2×3=6. Với k=3: tích =2×3×5=30. Với k=5: chữ số thứ 59, nhưng tích chứa thừa số 0 nếu... Thực ra k=5: 2×3×5×7×9=1890? Chú ý: chữ số thứ 5 của S9, tích 5 chữ số đầu =2×3×5×7×9=1890. Nhưng output là 210, nên có thể tích không tính chữ số 9 (chữ số 0?).

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 GO groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0