Volg de onderstaande video om te zien hoe je onze site als web-app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
Cyc1oon zei:Simpelste manier: Ga alle getallen af die kleiner zijn dan de helft van uw getal en kijk of de rest bij deling verschillend is van 0. Als alle getallen (excl. 1) een rest geven > 0 dan is uw getal een priemgetal.
Als ge meer en betere algoritmes wilt die sneller werken dan zijn er altijd uitzonderingen van getallen die niet kunnen gedecteerd worden met die methode. Dan zou je al verschillende combinaties moeten maken.
(pak priem 2, dan moet je niet meer alle testen voor /4,/6,/8,... uitvoeren).Vich zei:Er is geen universele methode, er zijn alleen semi-brute-force manieren om te kijken of het een priemgetal is. De snelste manier is om een hele lijst uit te rekenen(of te downloaden) en te kijken of je getal erin zit.
import java.io.*;
public class DriverPriemGetal {
public static void main (String [] args){
int x = 0;
try {
BufferedReader in = new BufferedReader (new InputStreamReader(System.in));
System.out.println("Geef getal:");
String input = in.readLine();
int getal = Integer.parseInt(input);
for(int i = 1; i<getal; i++){
if(getal%i==0){
x++;
}
}
if(x < 2 && x > 0){
System.out.println(getal + " is een priemgetal");
}
else{
System.out.println(getal + " is geen priemgetal");
}
}
catch (Exception e){
System.out.println("Fout bij lezen." + e);
}
}
}

killgore zei:[...]
Dat is niet waar. Er zijn geoptimaliseerde technieken (zeefmethode of zo) die het berekenen wat sneller laten gaan.
Er is echter (nog) geen formule om bv. gegeven priemgetal n, priemgetal n+1 te verkrijgen.
Juist daarom dat ik het noteerde als "semi-bruteforce".M1tch zei:tot de vierkantswortel? niet tot en met de helft van het getal?
.Vich zei:Ik zeg toch niet dat er geen geoptimaliseerde technieken zijn?Juist daarom dat ik het noteerde als "semi-bruteforce".
Mijn punt is juist dat er zo geen formule is, dat was ook de bedoeling van m'n post.
.
groter wordt dan je quotiënt (z). public boolean isPriem(int g)
{
int deeltal=1;
int delers=0;
boolean priemgetal=false;
while(deeltal<=g)
{
if(g%deeltal =0)
delers++;
deeltal++;
}
if(delers > 2)
priemgetal = false;
else
priemgetal = true;
System.out.println(priemgetal);
return priemgetal;
}
TiZon zei:inderdaad, ik ga het even aanpassen![]()

"System.out.println()" en "public boolean" zijn geen C.Duffman- zei:Hey,
volg jij T.I. @ KDG? Wij hebben namelijk net dit programmaatje moeten maken en aangezien jij je oplossing in C geef doe je mij vermoeden dat je -net als ik- een student Toegepaste Informatica bent.
Grtz,
Duffman-
leer je het meest van bij!TiZon zei:Ik heb er dit van gemaakt:
Code:public boolean isPriem(int g) { int deeltal=1; int delers=0; boolean priemgetal=false; while(deeltal<=g) { if(g%deeltal =0) delers++; deeltal++; } if(delers > 2) priemgetal = false; else priemgetal = true; System.out.println(priemgetal); return priemgetal; }
public static boolean isPriem(int g) {
if(g<2) return false;
int deler = 2;
while (deler <= (g / deler) ) {
if ((g % (deler++)) == 0)
return false;
}
return true;
}