Funktion für die Primfaktorzerlegung?
Diese Funktion soll die Primfaktoren einer Zahl berechnen und in der main funktion ausgeben. Tut sie auch. Das ist alles kein Problem. Ich verstehe nur nicht, was über dem Printf passiert. Was bedeutet das und warum wird das gemacht? Wenn ich das weg mache gibt mir der Debugger 2*2*2*2*2*2*2...........
Aber warum?
Ich hoffe, man kann mir helfen. Ich bin noch ein Neuling und versuche grade zu lernen. Danke
int primfakt(int zahl) { //Funktion für die Primfaktorzerlegung
int i = 2;
while (i <= zahl) // while schleife bis zur Zahl
{
if (zahl % i == 0) //Wenn zahl restlos Teilbar -> Ausgeben
{
zahl = zahl / i;
printf("%i*", i); //wird in der Main Funktion ausgegeben
}
else
i++; // ansonsten erhöhe i um 1
}
}
2 Antworten
Die Zeile teilt die Zahl durch i. Das wird benötigt um den Primfaktor, den man gefunden hat, aus der Zahl zu entfernen bevor man weiter macht.
- Welche Sprache ist das? C?
- Da stehen doch Kommentare, welche beschreiben, was dort passiert. Wo liegt das Problem also genau? Wir können ja auch nicht mehr machen als erklären, sowie die Kommentare es schon tun