I den här artikeln lär du dig att kontrollera om ett tal är primt eller inte. Detta görs med en for-loop och while-loop i Java.
För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:
- Java medan och gör … medan Loop
- Java för Loop
Ett primtal är ett tal som endast kan delas med två tal: 1 och sig själv. Så om något tal är delbart med något annat nummer är det inte ett primtal.
Exempel 1: Program för att kontrollera primtal med en for-loop
public class Main ( public static void main(String() args) ( int num = 29; boolean flag = false; for (int i = 2; i <= num / 2; ++i) ( // condition for nonprime number if (num % i == 0) ( flag = true; break; ) ) if (!flag) System.out.println(num + " is a prime number."); else System.out.println(num + " is not a prime number."); ) )
Produktion
29 är ett primtal.
I programmet ovan används för loop för att avgöra om det angivna numret är prim eller inte.
Observera här att vi går från 2 till num / 2. Det beror på att ett tal inte kan delas med mer än hälften.
Inuti for
slingan kontrollerar vi om numret är delbart med något nummer i det angivna intervallet (2… num/2)
.
- Om num är delbart sätts flaggan till
true
och vi bryter ut ur slingan. Detta avgör att num inte är ett primtal. - Om num inte kan delas med något tal är flaggan falsk och num är ett primtal.
Exempel 2: Programmera för att kontrollera primtal med hjälp av en stundslinga
public class Main ( public static void main(String() args) ( int num = 33, i = 2; boolean flag = false; while (i <= num / 2) ( // condition for nonprime number if (num % i == 0) ( flag = true; break; ) ++i; ) if (!flag) System.out.println(num + " is a prime number."); else System.out.println(num + " is not a prime number."); ) )
Produktion
33 är inte ett primtal.
I ovanstående program, medan loop används istället för en for loop. Slingan går till i <= num/2
. Vid varje iteration kontrolleras huruvida num är delbart med i och värdet på i ökas med 1.
Besök den här sidan för att lära dig hur du kan visa alla primtal mellan två intervaller.