Java Program för att kontrollera primtal
Vad är ett primtal?
Ett primtal är ett tal som bara är delbart med 1 eller sig själv. Till exempel är 11 bara delbart med 1 eller sig själv. Andra primtal 2, 3, 5, 7, 11, 13, 17….
Obs: 0 och 1 är inte primtal. 2 är det enda jämna primtalet.
Java Program för att kontrollera om tal är primtal eller inte
Programlogik:
- Vi måste dela ett inmatat tal, säg 17 från värdena 2 till 17 och kontrollera resten. Om resten är 0 är talet inte primtal.
- Inget tal är delbart med mer än hälften av sig självt. Så vi måste slinga genom bara
numberToCheck/2
. Om ingången är 17 är hälften 8.5 och slingan kommer att iterera genom värdena 2 till 8 - Om ett nummerToCheck är helt delbart med ett annat nummer, är flaggan isPrime inställd på
false
och slingan lämnas.
public class PrimenumberToCheckCheck { public static void main(String[] args) { int remainder; boolean isPrime=true; int numberToCheck=17; // Enter the numberToCheckber you want to check for prime //Loop to check whether the numberToCheckber is divisible any numberToCheckber other than 1 and itself for(int i=2;i<=numberToCheck/2;i++) { //numberToCheckber is divided by itself remainder=numberToCheck%i; System.out.println(numberToCheck+" Divided by "+ i + " gives a remainder "+remainder); //if remainder is 0 than numberToCheckber is not prime and break loop. Else continue the loop if(remainder==0) { isPrime=false; break; } } // Check value true or false, if isprime is true then numberToCheckber is prime otherwise not prime if(isPrime) System.out.println(numberToCheck + " is a Prime numberToCheckber"); else System.out.println(numberToCheck + " is not a Prime numberToCheckber"); } }
Förväntad produktion:
17 Divided by 2 gives a remainder 1 17 Divided by 3 gives a remainder 2 17 Divided by 4 gives a remainder 1 17 Divided by 5 gives a remainder 2 17 Divided by 6 gives a remainder 5 17 Divided by 7 gives a remainder 3 17 Divided by 8 gives a remainder 1 17 is a Prime numberToCheckber
Kolla vårt program för att hitta Prime Numbers från 1 till 100