trang chủ / đề bài / modarith

Số học mô-đun

Đề bài

Mô tả

Cho hai số nguyên cố định k và p, trong đó p là một số nguyên tố lẻ. Xét phương trình hàm sau đối với hàm số f:{0,1,…,p−1}→{0,1,…,p−1}:

k·f(x)≡f(k·xmodp)(modp)

Phương trình trên phải đúng với mọi số nguyên x trong khoảng từ 0 đến p−1.

Hãy đếm số hàm f phân biệt thỏa mãn phương trình trên. Vì kết quả có thể rất lớn, hãy in ra phần dư của nó khi chia cho 109+7.

Dữ liệu vào

Một dòng duy nhất chứa hai số nguyên p và k cách nhau bởi dấu cách.

Dữ liệu ra

In ra một số nguyên duy nhất — số hàm f phân biệt thỏa mãn phương trình, lấy phần dư cho 109+7.

Ràng buộc

  • 3≤p≤106
  • 0≤k≤p−1
  • p là số nguyên tố lẻ.

Ví dụ

Input Output Giải thích
3 2 3 Ba hàm thỏa mãn: f(0)=0,f(1)=1,f(2)=2; f(0)=0,f(1)=2,f(2)=1; f(0)=f(1)=f(2)=0.
5 4 25 Có 25 hàm thỏa mãn ứng với p=5,k=4.
5 0 625 Khi k=0, phương trình chỉ ép f(0)=0; bốn giá trị còn lại của f tự do, cho 54=625 hàm.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0