Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Selected Reading
Fermat's little theorem in C++
Fermat’s little theorem −
This theorem states that for any prime number p,
Ap - p is a multiple of p.
This statement in modular arithmetic is denoted as,
ap ≡ a (mod p)
If a is not divisible by p then,
ap - 1 ≡ 1 (mod p)
In this problem, we are given two numbers a and p. Our task is to verify fermat’s little theorem on these values.
We need to check if ap ≡ a (mod p) or ap - 1 ≡ 1 (mod p)
Holds true for the given values of a and p.
Let’s take an example to understand the problem,
Input: a = 3, p = 7
Output: True
Explanation:
Ap-1 ≡ 1 (mod p)
=> 36 ≡ 729
=> 729 - 1 = 728
=> 728 / 7 = 104
Program to illustrate the working of theorem,
Example
#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;
}
Output −
Fermat's little theorem holds true!
Advertisements
