(Mersenne prime) A prime number is called a Mersenne prime if it can be written

in the form 2p - 1 for some positive integer p. Write a program that finds all

Mersenne primes with p … 31 and displays the output as follows:

p 2^p –1

2 3

3 7

5 31

كود الحل:

package java3;
import java.util.Scanner;
public class Java3 {
    public static void main(String[] args) {
        System.out.println("enter a number: ");
        Scanner input=new Scanner(System.in);
        int n = input.nextInt(); 
        System.out.println("Mersenne prime"+ 
                     "numbers smaller than"+ 
                          "or equal to "+n); 
          
        mersennePrimes(n); 
    }
    static void SieveOfEratosthenes(int n, boolean prime[]) 
    { 
        
        for (int i = 0; i <= n; i++) 
            prime[i] = true; 
      
        for (int p = 2; p * p <= n; p++) 
        { 
            // If prime[p] is not changed 
            // , then it is a prime 
            if (prime[p] == true) 
            { 
                // Update all multiples of p 
                for (int i = p * 2; i <= n; i += p) 
                    prime[i] = false; 
            } 
        } 
    }
    static void mersennePrimes(int n) 
    { 
         
        boolean prime[]=new boolean[n + 1]; 
      
        // Generating primes  
        // using Sieve 
        SieveOfEratosthenes(n, prime); 
      
        // Generate all numbers of 
        // the form 2^k - 1 and  
        // smaller than or equal to n. 
        for (int k = 2; (( 1 << k) - 1) <= n; k++) 
        { 
            int num = ( 1 << k) - 1; 
      
            // Checking whether number is  
            // prime and is one less then 
            // the power of 2 
            if (prime[(int)(num)]) 
                System.out.println(num + " "); 
        } 
    }
       
    
}

شرح الكود :

 

 

ابحث عن مسائل برمجة جافا | Java programming بالانجليزي

هل أعجبك المحتوى؟

محتاج مساعدة؟ تواصل مع مدرس اونلاين الان!

التعليقات
لا يوجد تعليقات
لاضافة سؤال او تعليق على المشاركة يتوجب عليك تسجيل الدخول
تسجيل الدخول