ফার্মাটের ছোট্ট উপপাদ্য -
এই উপপাদ্যটি বলে যে কোনো মৌলিক সংখ্যা p,
এর জন্যA p - p p.
এর একটি গুণিতকএই বিবৃতিটি মডুলার পাটিগণিত -এ হিসাবে চিহ্নিত করা হয়,
a p ≡ a (mod p)
a যদি p দ্বারা বিভাজ্য না হয় তাহলে,
a p - 1 ≡ 1 (mod p)
এই সমস্যায়, আমাদের দুটি সংখ্যা a এবং p দেওয়া হয়েছে। আমাদের কাজ হল ফারম্যাটের সামান্য উপপাদ্য যাচাই করা এই মানগুলির উপর৷
৷আমাদের চেক করতে হবে a p কিনা ≡ a (mod p) বা a p - 1 ≡ 1 (mod p)
a এবং p এর প্রদত্ত মানের জন্য সত্য ধরে।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট: a =3, p =7
আউটপুট: সত্য
ব্যাখ্যা:
A p-1 ≡ 1 (mod p)
=> 3 6 ≡ 729
=> 729 - 1 =728
=> 728 / 7 =104
উপাদ্যের কাজ চিত্রিত করার জন্য প্রোগ্রাম,
উদাহরণ
#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;
} আউটপুট −
Fermat's little theorem holds true!