Java >> Java tutorial >  >> Java

Java-program til at finde primtal

Et tal kaldes et primtal hvis den kun er delelig af sig selv og en. Det betyder, at primtallene kun har to faktorer en og sig selv.

Et tal kaldes et sammensat tal hvis det har mere end to faktorer.

En pointe, der skal bemærkes her, er, at 1 hverken er et primtal eller et sammensat tal.

Betingelser for, at et tal er primtal:

  1. Det skal være større end én.

  2. Det bør ikke have mere end 2 faktorer.

Dette er nogle af de første primtal:{2,3,5,7,11,....}.

I denne tutorial lærer vi, hvordan du finder primtal i java. Men før du går videre, hvis du ikke er bekendt med begrebet loops i java, så tjek artiklen om Loops in Java

Input: Indtast nummeret:34

Output: 34 er ikke et primtal.

Program 1:Find primtal i Java

I dette program vil vi kontrollere, om det indtastede tal er primtal eller ej, ved at bruge en for-løkke, som løber fra 2 til kvadratroden af ​​det tal.

Algorithme:

  1. Start

  2. Opret en forekomst af Scanner-klassen.

  3. Deklarer en variabel.

  4. Bed brugeren om at initialisere variablen.

  5. Kald en metode, der vil kontrollere, om det indtastede tal er primetal eller ej.

  6. Hvis tallet er 0 eller 1, udskriv det ikke er et primtal.

  7. Hvis tallet er andet end 0 og 1, skal du køre en for-løkke fra 2 til kvadratroden af ​​det tal.

  8. Hvis tallet er deleligt med et af tallene i den løkke, skal du udskrive det som ikke et primtal.

  9. Hvis tallet ikke er deleligt med nogen af ​​tallene i den løkke, så udskriv det som et primtal.

  10. Stop.

Nedenfor er Java-koden til at finde primtal.

// Program to find prime number in Java
import java.util.Scanner;
public class Main 
{  
   public static void main(String[] args) 
   {  
       Scanner sc = new Scanner(System.in);  
       System.out.println("Enter a number : ");  
       int num = sc.nextInt();  
       if (checkPrime(num)) {  
           System.out.println(num + " is a prime number");  
       }
       else 
       {  
           System.out.println(num + " is not a prime number");  
       }  
   }  
   public static boolean checkPrime(int num) 
   {  
       if (num <= 1) 
       {  
           return false;  
       }  
       for (int i = 2; i < Math.sqrt(num); i++) 
       {  
           if (num % i == 0) 
           {  
               return false;  
           }  
       }  
       return true;  
   }  
}  


Indtast et tal:245
245 er ikke et primtal

Program 2:Find primtal i Java

I dette program vil vi kontrollere, om det indtastede tal er primtal eller ej ved hjælp af en for-løkke, som vil løbe fra 2 til tal/2.

Algorithme:

  1. Start

  2. Opret en forekomst af Scanner-klassen.

  3. Deklarer en variabel.

  4. Bed brugeren om at initialisere variablen.

  5. Hvis tallet er 0 eller 1, udskriv det ikke er et primtal.

  6. Hvis tallet er andet end 0 og 1, skal du køre en for-løkke fra 2 til nummer/2.

  7. Hvis tallet er deleligt med et af tallene i den løkke, skal du udskrive det som ikke et primtal.

  8. Hvis tallet ikke er deleligt med nogen af ​​tallene i den løkke, så udskriv det som et primtal.

  9. Stop.

Nedenfor er Java-koden til at finde primtal.

// Program to find prime number in Java
import java.util.Scanner;
public class Main 
{  
   public static void main(String[] args) 
   {  
       //Take input from the user
       //Create instance of the Scanner class
       Scanner sc = new Scanner(System.in);  
       System.out.println("Enter a number : ");  
       int num = sc.nextInt();  
       int flag=0; 
       int i, temp=num/2;      
       if(num==0||num==1)
       {  
          System.out.println(num+" is not prime number");      
       }
       else
       {  
         for(i=2;i<=temp;i++)
         {      
           if(num%i==0)
           {      
               System.out.println(num+" is not a prime number");      
               flag=1;      
               break;      
           }      
         }      
         if(flag==0)  
         { 
             System.out.println(num+" is a prime number");  
         }  
        }//end of else  
   }   
}  


Indtast et tal:29
29 er et primtal

Program 3:Java-program til at finde primtal

I dette program vil vi bruge rekursion til at kontrollere, om et tal er primtal eller ej.

Algorithme:

  1. Start

  2. Opret en forekomst af Scanner-klassen.

  3. Deklarer en variabel.

  4. Bed brugeren om at initialisere variablen.

  5. Brug en rekursiv funktion til at kontrollere, om tallet er primtal eller ej.

  6. Kald den funktion rekursivt for at kontrollere, om det tal er deleligt med et andet tal.

  7. Hvis tallet ikke er deleligt med et andet tal undtagen 1 og sig selv, så udskriv det som et primtal.

  8. Udskriv ellers er det indtastede tal ikke et primtal.

  9. Stop.

Nedenfor er Java-koden til at finde et primtal.

// Program to find prime number in Java using recursion
import java.util.Scanner;
public class Main 
{  
    static int i=2;
   public static void main(String[] args) 
   {  
       //Take input from the user
       //Create instance of the Scanner class
       Scanner sc = new Scanner(System.in);  
       System.out.println("Enter the number: ");  
       int num = sc.nextInt();  
      
       if (checkPrime(num)) 
        {  
               System.out.print(num+" is a prime number ");  
        }
        else
        {
            System.out.println(num+" is not a prime number "); 
        }
         
   }  
    static boolean checkPrime(int num)
    {
       // Corner cases
       if (num == 0 || num == 1) 
       {
          return false;
       }
       // Checking Prime
       if (num == i)
           return true;
        // Base cases
       if (num % i == 0) 
       {
          return false; 
             
       }
       i++;
       return checkPrime(num);
    }    
} 


Indtast tallet:57
57 er ikke et primtal


Java tag