Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Javascript program to check Euclid Number
- var MAX = 10000;
- var arr = [];
- // Function to generate prime numbers
- function SieveOfEratosthenes()
- {
- // Create a boolean array "prime[0..n]" and initialize
- // all entries it as true. A value in prime[i] will
- // finally be false if i is Not a prime, else true.
- var prime = Array(MAX).fill(true);;
- for (var p = 2; p * p < MAX; p++) {
- // If prime[p] is not changed, then it is a prime
- if (prime[p] == true) {
- // Update all multiples of p
- for (var i = p * 2; i < MAX; i += p)
- prime[i] = false;
- }
- }
- // store all prime numbers
- // to vector 'arr'
- for (var p = 2; p < MAX; p++)
- if (prime[p])
- arr.push(p);
- }
- // Function to check the number for Euclid Number
- function isEuclid( n)
- {
- var product = 1;
- var i = 0;
- while (product < n) {
- // Multiply next prime number
- // and check if product + 1 = n
- // holds or not
- product = product * arr[i];
- if (product + 1 == n)
- return true;
- i++;
- }
- return false;
- }
- // Driver code
- // Get the prime numbers
- debugger;
- SieveOfEratosthenes();
- // Get n
- var n = 31;
- // Check if n is Euclid Number
- if (isEuclid(n))
- document.write("YES<br>");
- else
- document.write("NO<br>");
- // Get n
- n = 42;
- // Check if n is Euclid Number
- if (isEuclid(n))
- document.write("YES<br>");
- else
- document.write("NO<br>");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement