Skip to content

Instantly share code, notes, and snippets.

@nuryslyrt
Last active June 8, 2022 22:07
Show Gist options
  • Save nuryslyrt/aac7bcde08c04ac441a6bd4fe8707372 to your computer and use it in GitHub Desktop.
Save nuryslyrt/aac7bcde08c04ac441a6bd4fe8707372 to your computer and use it in GitHub Desktop.
mersenneprimenumberlist
package main
import (
"fmt"
"math"
)
// Golang program for
// Display mersenne prime numbers from 1 to n
func IsPrime(num int64) int64 {
/**
if num < 2 {
fmt.Println("Number must be greater than 2.")
return
} **/
var sq_root int64
sq_root = int64(math.Sqrt(float64(num)))
var i int64
for i = 2; i <= sq_root; i++ {
if num%i == 0 {
//fmt.Println("false")
}
}
return num
}
// Print the Mersenne prime number
func listOfMersenneNo(n int64) {
// How to check if a number is a mersenne prime
// Condition number greater than 1 And
// Number is prime And
// When a number is divided by 2 it's never an
// even number till the number is zero.
var p int64
var num int64
for p = 2; p <= n; p++ {
num = (1 << p) - 1
if IsPrime(num) == num {
fmt.Println(num)
}
}
}
func main() {
var i int64
fmt.Scan(&i)
listOfMersenneNo(i)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment