Siêu máy tính

Đề bài

Mô tả

Công ty Alpha giới thiệu siêu máy tính có khả năng thực hiện được tỉ tỉ phép toán trong vòng 1 giây. Để chứng minh sức mạnh của siêu máy tính, công ty đã cho máy tính thực hiện một số lượng rất lớn các phép toán như sau:

  • Ban đầu, số N được đặt giá trị bằng 1;
  • t thao tác, mỗi thao tác thuộc một trong ba loại:
    1. Nhân N với ab;
    2. Chia N cho ab (trong đó ab là ước của N);
    3. Tìm số hai số p, qpq=Nq là lớn nhất, nếu N=1 thì p=1,q=1.

Công ty sẽ trao thưởng cho người nào kiểm chứng được kết quả mà siêu máy tính đưa ra. Ban giám khảo kỳ thi quyết định ra đề thi yêu cầu thí sinh viết chương trình nhận t thao tác, nhưng với mỗi thao tác loại 3 chỉ cần đưa ra hai số p % M (phần dư của phép chia p cho M) và q.

Cho Mt thao tác, với mỗi thao tác loại 3 hãy đưa hai số ra p % Mq.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên dương M,t (M109);
  • Dòng thứ i trong t dòng tiếp theo mô tả thao tác thứ i là một trong ba loại thao tác theo khuôn dạng: Bắt đầu số ki (ki bằng 1 hoặc 2 hoặc 3). Nếu là thao tác loại 1 và loại 2 thì tiếp theo là hai số nguyên dương ai,bi (ai,bi106).

Dữ liệu ra

Gồm một số dòng, mỗi dòng chứa hai số p % Mq tìm được tương ứng với mỗi thao tác loại 3.

Ràng buộc

  • M109
  • ai,bi106
  • 20% số test: t100 và số N không vượt quá 1018 trong quá trình thực hiện dãy thao tác;
  • 40% số test: t100 và số N không vượt quá 10180 trong quá trình thực hiện dãy thao tác;
  • 40% số test: t105.

Ví dụ

Input Output Giải thích
100 4
1 36 2
3
2 3 2
3
6 4
12 2
Ban đầu N=1. Sau thao tác 1: N=1×362=1296. Thao tác 3: 1296=64, in 6 % 100=64. Sau thao tác 2: N=1296/32=144. Thao tác 3: 144=122, in 12 % 100=122.

Bình luận

  • luongdinhdung
    đã bình luận 11 months trước

    C, C#, C++, Java, Javascript, Kotlin, Pascal, PyPy, Python, Scratch

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