Du sætter z = 5 og lader løkken køre så længe z er større end 5. Men du gør aldrig z mindre.
På et tidspunkt overflower den og løkken stopper.
Den inderst løkke vil mange gange afslutte uden at skrive den fandt et primtal fordi c = 0 godt kan ske selvom x ikke er 1.
Ja, jeg ved godt den vil overflowe på et tidspunkt, men burde den ikke i det mindste give mig et primtal inden?
Og ja, jeg ved godt at den inderste løkke vil afslutte mange gange uden at udskrive et tal, og det er jo meningen, for hvis c=0 er det tal den inderste løkke er i gang med at undersøge jo netop ikke noget primtal og derfor starter den store løkke med det næste tal der er 1 større end det forrige
Hej, jeg tror ikke så meget det er din kode, den er galt med.. Men mere din algoritme, har ændret lidt på den, og har lavet, et lille hurtigt program, der ca. gør hvad du beder det om, plus at det gemmer de forrige primtal i en arrayliste.. Men anyways her er koden
- import java.util.ArrayList;
-
-
- public class Tæl {
-
- public static void main(String[] args) {
- ArrayList<Integer> primenumbers = new ArrayList<Integer>();
- int z, knownNumbers = 1;
- z = 1;
-
-
- do{
- if(z == (int) Math.pow(2, knownNumbers)-1){
- System.out.println(z);
- primenumbers.add(new Integer(z));
- knownNumbers++;
- }
- z ++;
-
- }while(true);
-
- }
- }
Mange tak for det
men jeg skal ikke rigtig bruge programmet til noget, det er mere bare et forsøg for at se om jeg kan få det til at virke, som en øvelse for mig. Da jeg ikke forstår din kode hjælper den mig ikke meget
men ellers tak