Định lý nhỏ của Fermat -
Định lý này phát biểu rằng với bất kỳ số nguyên tố p nào,
A p - p là bội số của p.
Tuyên bố này trong số học mô-đun được biểu thị là,
a p ≡ a (mod p)
Nếu a không chia hết cho p thì
a p - 1 ≡ 1 (mod p)
Trong bài toán này, chúng ta được cho hai số a và p. Nhiệm vụ của chúng tôi là xác minh định lý nhỏ của fermat trên các giá trị này.
Chúng tôi cần kiểm tra xem a p ≡ a (mod p) hoặc a p - 1 ≡ 1 (mod p)
Giữ đúng cho các giá trị đã cho của a và p.
Hãy lấy một ví dụ để hiểu vấn đề,
Đầu vào: a =3, p =7
Đầu ra: Đúng
Giải thích:
A p-1 ≡ 1 (mod p)
=> 3 6 ≡ 729
=> 729 - 1 =728
=> 728/7 =104
Chương trình minh họa hoạt động của định lý,
Ví dụ
#include <iostream>
#include <math.h>
using namespace std;
int fermatLittle(int a, int p) {
int powVal;
if(a % p == 0){
powVal = pow(a, p);
if((powVal - p) % p == 0){
cout<<"Fermat's little theorem holds true!";
}
else{
cout<<"Fermat's little theorem holds false!";
}
}
else {
powVal = pow(a, (p - 1));
if((powVal - 1) % p == 0 ){
cout<<"Fermat's little theorem holds true!";
}
else{
cout<<"Fermat's little theorem holds false!";
}
}
}
int main()
{
int a = 3, m = 11;
fermatLittle(a, m);
return 0;
} Đầu ra -
Fermat's little theorem holds true!