servus!

deine algorithmen sind sehr ineffizient, da du einen viel zu großen bereich überprüfst. von vornherein könntest du gerade zahlen auslassen, weil es sich bei denen (mit ausnahme der 2) niemals um eine primzahl handeln wird. (du kannst also in der schleife in zweier-schritten zählen)

negative zahlen kannst du ebenfalls weglassen und der maximal mögliche teiler ist maximal die wurzel aus deiner gesuchten zahl, also kannst du alle zahlen darüber von einer überprüfung ausschließen.

hier ist eine kurz zusammen gepfuschte lösung (die hoffentlich keinen fehler enthält):

public class Primes {

  public static boolean isPrime(final long num) {
    if (num < 2) {
      return false;
    } else if (num == 2) {
      return true;
    } else if ((num & 1) == 0) {
      return false;
    }

    for (long i = 3; i*i <= num; i += 2) {
      if((num % i) == 0) {
        return false;
      }
    }

    return true;
  }

  public static void main(String[] args) {
    for (long i = -2; i <= 20; ++i) {
      System.out.printf(
        "#%d: %b\n", i, isPrime(i)
      );
    }
  }

}

das liefert für die zahlen von -2 bis +20 diese ausgabe:

#-2: false                                                           
#-1: false                                                           
#0: false                                                            
#1: false                                                            
#2: true                                                             
#3: true                                                             
#4: false                                                            
#5: true                                                             
#6: false                                                            
#7: true                                                             
#8: false                                                            
#9: false
#10: false
#11: true
#12: false
#13: true
#14: false
#15: false
#16: false
#17: true
#18: false
#19: true
#20: false

zum schluss muss ich aber sagen, dass java in der BigInteger-klasse einen mordsmäßig effizienten algorithmus implementiert hat, der dir blitzschnell und sehr sehr zuverlässig mitteilt, ob eine zahl prim ist, oder nicht:

import java.math.BigInteger;

public class Main {

  public static boolean isPrime(final long num) {
    return BigInteger.valueOf(num).isProbablePrime(1);
  }

  public static void main(String[] args) {
    for (long i = -2; i <= 20; ++i) {
      System.out.printf(
        "#%d: %b\n", i, isPrime(i)
      );
    }
  }

}

die isProbablePrime()-methode ist zwar nicht perfekt akkurat, aber für kleinere zahlen im long-bereich stimmen die ergebnisse zu 100%.

...zur Antwort

servus!

theoretisch ist es so, wie du es dir vorstellst: im incognito-tab bzw. incognito-fenster sollte keine verbindung zu deinem sonstigen surfverhalten herzustellen sein.

das problem: praktisch geht es trotzdem, und alle tracking-firmen machen das auch, z. B. facebook, twitter, usw. mit ihren social-buttons oder tracking-pixeln.

es gibt X verschiedene möglichkeiten, deinen browser deinem vorherigen surfverhalten zuordnen zu können, selbst wenn du einen incognito-tab nutzt. (das nennt sich übrigens fingerprinting)

deshalb reicht ein reiner incognito-tab überhaupt nicht aus, um nicht "wiedererkannt" zu werden. allein hier auf GF werden tracking-skripte von gleich mehreren firmen eingebunden, die diesen incognito-schutz umgehen können. (in den datenschutzbestimmungen von GF steht genau welche firmen das sind und welche daten erhoben werden)

um dich effektiv schützen zu können musst du viiiieeel mehr tun, als dich nur auf incognito zu verlassen, aber das würde hier zu viel werden, weshalb ich mir das jetzt verkneife.

der einfachste schutz dürfte ublock-origin in kombination mit umatrix und dem privacy-badger sein. aber selbst damit kann man dich noch tracken, sofern das tracking-skript direkt von der aufgerufenen website selbst kommt.

wie gesagt, wirklicher tracking-schutz ist kompliziert und für laien fast unmöglich umzusetzen.

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.