// wenn es sich um eine Primzahl handelt → true bool Primzahl; void setup() { Serial.begin(9600); Serial.println("Zahl eingeben:"); } void loop() { String Eingabe; while (Serial.available() > 0) { // solange lesen, bis return \n = return eingegeben wurde Eingabe = Serial.readStringUntil("\n"); // das letzte Zeichen ist return = \n → soll entfernt werden Eingabe = Eingabe.substring(0, Eingabe.length() - 1); // eingegebene Zahl zu int umwandeln int Zahl = Eingabe.toInt(); Serial.println("-----------------------------"); Serial.println("Teiler von " + String(Zahl) + " sind:"); // Aufruf der Funktion DivisorSuchen bool Divisor = DivisorSuchen(Zahl); if (Primzahl) Serial.println(String(Zahl) + " ist eine Primzahl"); } } bool DivisorSuchen(int Zahl) { // solange kein Divisor gefunden wurde → true Primzahl = true; // nur bis zur Hälfte der Zahl prüfen for ( int i = 2 ; i <= Zahl / 2 ; i++) { // wenn kein Rest → Zahl ist teilbar → aktuellen Divisor anzeigen if (Zahl % i == 0) { Serial.println(i); // Divisor vorhanden → keine Primzahl Primzahl = false; } } // Wert für Primzahl (true/false) an das Hauptprogramm zurückgeben return Primzahl; }