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

Trò chơi với số nguyên

Đề bài

Mô tả

Hai người chơi một trò chơi với số nguyên dương n. Người chơi thứ hai sẽ thực hiện một dãy lượt chơi: ở mỗi lượt, chọn một số nguyên x>1 là ước của giá trị hiện tại của n, rồi thay n bằng nx. Trò chơi kết thúc khi n=1 và không còn nước đi hợp lệ. Điểm của người chơi thứ hai bằng số lượt đã thực hiện.

Để trò chơi thú vị hơn, người chơi thứ nhất chọn n có dạng n=a!b! với hai số nguyên dương a,b thỏa ab (ở đây k! là giai thừa của k, tức tích các số nguyên dương từ 1 đến k).

Cho trước ab, hãy tính điểm tối đa mà người chơi thứ hai có thể đạt được.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t — số ván chơi.
  • Mỗi dòng trong t dòng tiếp theo chứa hai số nguyên ab mô tả một ván.

Dữ liệu ra

Với mỗi ván, in ra một dòng duy nhất chứa điểm tối đa của người chơi thứ hai.

Ràng buộc

  • 1t106
  • 1ba5·106

Ví dụ

Input Output Giải thích
2
3 1
6 3
2
5
Ván 1: n=3!1!=6. Một dãy tối ưu là 631, gồm 2 lượt. Ván 2: n=6!3!=120=23·3·5, có thể chia 5 lượt.
3
1 1
5000000 1
5000000 5000000
0
18703742
0
Khi a=b thì n=1, không có nước đi nào. Trường hợp a=5000000,b=1 cho thấy giới hạn trên của đáp án.

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 1.26.3 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