কম্পিউটার টিউটোরিয়াল

জাভাতে প্রাইম নম্বর চেক করা এবং পরবর্তী প্রাইম খুঁজে বের করা (কাস্টম লজিক)

যে কোনো পূর্ণসংখ্যা যা ১-এর চেয়ে বড় এবং যার শুধু দুটি ফ্যাক্টর আছে অর্থাৎ ১ এবং সেটাই, তাকে প্রাইম নম্বর বলে। এই দুটি সংখ্যা ছাড়া এর কোনো পজিটিভ ডিভাইজর নেই। উদাহরণ: 7 = 1 × 7

একটি সংখ্যা প্রাইম কিনা বের করার অ্যালগরিদম:

  • একটি ইন্টিজার ভেরিয়েবল A নিন।
  • ভেরিয়েবল A কে (A-1 থেকে 2) দিয়ে ভাগ করুন।
  • যদি A যেকোনো ভ্যালু (A-1 থেকে 2) দিয়ে বিভাজ্য হয় তবে সেটি প্রাইম নয়।
  • অন্যথায় সেটি প্রাইম।

উদাহরণ

নিচের জাভা প্রোগ্রাম ইউজার থেকে একটি ইন্টিজার নেয়, দেয়া সংখ্যা প্রাইম কিনা বের করে এবং পরবর্তী প্রাইম নম্বর প্রিন্ট করে।

import java.util.Scanner; 

public class NextNumberisPrime { 
    public static int isPrime(int num) { 
        int prime = 1; 
        for (int i = 2; i < num; i++) { 
            if ((num % i) == 0) { 
                prime = 0; 
            } 
        } 
        return num; 
    } 
    
    public static int nextPrime(int num) { 
        num++; 
        for (int i = 2; i < num; i++) { 
            if (num % i == 0) { 
                num++; 
                i = 2; 
            } else { 
                continue; 
            } 
        } 
        return num; 
    } 
    
    public static void main(String args[]) { 
        Scanner sc = new Scanner(System.in); 
        System.out.println("Enter a number ::"); 
        int num = sc.nextInt(); 
        int result = 0; 
        int prime = isPrime(num); 
        if (prime == 1) { 
            System.out.println(num + " is a prime number"); 
        } else { 
            System.out.println(num + " is not a prime number"); 
        } 
        System.out.println("Next prime number is: " + nextPrime(num)); 
    } 
}

আউটপুট

Enter a number :: 25
25 is not a prime number
Next prime number is: 29

দोष ও উন্নতি: মূল কোডে isPrime মেথডটি সবসময় num রিটার্ন করে (বগ)। সঠিক ইমপ্লিমেন্টেশনে prime ভেরিয়েবল রিটার্ন করা উচিত। এছাড়াও লুপ i <= Math.sqrt(num) পর্যন্ত চললে পারফরম্যান্স ভালো হবে।

  1. জাভাতে প্রাইম নম্বর চেক করা এবং পরবর্তী প্রাইম খুঁজে বের করা (BigInteger)

  2. প্রাইম নম্বর চেক করার পাইথন প্রোগ্রাম

  3. পাইথনে একটি সংখ্যার সর্বোচ্চ质因数 বের করার প্রোগ্রাম

  4. পাইথন প্রোগ্রাম: কোনো সংখ্যা প্রাইম কিনা তা যাচাই করা