8000 Merge pull request #698 from pratyushmohapatra33/my-branch · glitches-coder/Algorithms@43fa40f · GitHub
[go: up one dir, main page]

Skip to content

Commit 43fa40f

Browse files
authored
Merge pull request VAR-solutions#698 from pratyushmohapatra33/my-branch
Added a algo to check whether a given number is Wagstaff prime or not
2 parents ed51828 + 71ec184 commit 43fa40f

File tree

2 files changed

+74
-0
lines changed

2 files changed

+74
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
2+
#include <bits/stdc++.h>
3+
using namespace std;
4+
5+
bool isPrime(int n)
6+
{
7+
if (n <= 1)
8+
return false;
9+
if (n <= 3)
10+
return true;
11+
if (n % 2 == 0 || n % 3 == 0)
12+
return false;
13+
14+
for (int i = 5; i * i <= n; i = i + 6) {
15+
if (n % i == 0 || n % (i + 2) == 0) {
16+
return false;
17+
}
18+
}
19+
20+
return true;
21+
}
22+
bool isPowerOfTwo(int n)
23+
{
24+
return (n && !(n & (n - 1)));
25+
}
26+
int main()
27+
{
28+
int n = 43;
29+
if (isPrime(n) && (isPowerOfTwo(n * 3 - 1))) {
30+
cout << "YES\n";
31+
}
32+
else {
33+
cout << "NO\n";
34+
}
35+
36+
return 0;
37+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
2+
#include <bits/stdc++.h>
3+
using namespace std;
4+
5+
bool isPrime(int n)
6+
{
7+
if (n <= 1)
8+
return false;
9+
if (n <= 3)
10+
return true;
11+
if (n % 2 == 0 || n % 3 == 0)
12+
return false;
13+
14+
for (int i = 5; i * i <= n; i = i + 6) {
15+
if (n % i == 0 || n % (i + 2) == 0) {
16+
return false;
17+
}
18+
}
19+
20+
return true;
21+
}
22+
bool isPowerOfTwo(int n)
23+
{
24+
return (n && !(n & (n - 1)));
25+
}
26+
int main()
27+
{
28+
int n = 43;
29+
if (isPrime(n) && (isPowerOfTwo(n * 3 - 1))) {
30+
cout << "YES\n";
31+
}
32+
else {
33+
cout << "NO\n";
34+
}
35+
36+
return 0;
37+
}

0 commit comments

Comments
 (0)
0