تمرين برمجة جافا بسيط | Mersenne prime USING JAVA | مع شرح فيديو

  • 2020-12-21

توصيف

(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 + " "); 
        } 
    }
       
    
}

شرح الكود :

 

 

هل كان المحتوى مفيد؟

التعليقات

لاضافة سؤال أو تعليق على المشاركة يتوجب عليك تسجيل الدخول
تسجيل الدخول
محتاج مساعدة باختيار المدرس الافضل؟ تواصل مع فريقنا الان لمساعدتك بتأمين افضل مدرس
ماهو التخصص الذي تبحث عنه؟
اكتب هنا...