Đếm số dhprime

Xem PDF



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

Rùa có một chuỗi ký tự \(S\) chỉ bao gồm các ký tự chữ số và ký tự ?. Cậu sẽ thay thế mỗi ký tự ? trong chuỗi đó bằng một trong những ký tự chữ số 0-9, sao cho tạo thành một chuỗi mới là một số nguyên hợp lệ (không bắt đầu bằng số 0) và cậu muốn biết là cậu có thể tạo ra bao nhiêu số nguyên tố bằng cách đó.

Input

  • Chuỗi \(S\), chỉ bao gồm các ký tự chữ số và ký tự ?. Độ dài chuỗi \(S\) không quá \(7\).

Output

  • In ra một số nguyên, là số lượng số nguyên tố mà Rùa có thể tạo thành bằng cách đã mô tả.

Example

Test 1

Input
1?
Output
4
Note

Cậu có thể thế ? bằng một trong ba ký tự 1, 3, 7, 9.

Test 2

Input
?
Output
4

Bình luận


  • -1
    anh03032007    6:58 p.m. 12 Tháng 8, 2021 chỉnh sửa 3

    Ý tưởng dùng sàng đánh dấu các số nguyên tố từ 1->10^7 trong mảng, sau đó dùng đệ quy tính ra tất cả các số có thể được tạo ra từ xâu sau đó kiểm tra bằng mảng đã đánh dấu \(O(1)\).
    độ phức tạp: sàng \(O(nloglogn)\)+tạo ra các số \(O(9^k)\) với \(k\) là số kí tự '?' trong mảng
    :)


    • -1
      anhpheloi1    11:17 a.m. 5 Tháng 1, 2022

      how to sàng 10^7 số ???, thuật sàng chỉ căng nhất là 10^6 số mà nhể


      • -1
        anhpheloi1    11:16 a.m. 5 Tháng 1, 2022

        how to sàng 10^7 số ???, thuật sàng chỉ căng nhất là 10^6 số mà nhể

        3 bình luận nữa