Hallo,
bin derzeit an einer Übungsaufgabe und komme einfach nichtmehr weiter.
Es geht darum eine Primfaktorzerlegung in C zu programmieren.
Das ist aktuell mein Code
Es funktioniert auch alles jedoch kommt es zu einem Fehler. Etwa 1 - 2 Minuten nach der Primfaktorzerlegung im Programm haut er mir unendliche (-1)e raus.
Das nächste Problem ist nun wenn der Anwender eine Primzahl eingibt soll dieser direkt "Prim" ausgeben und nicht den Faktor. Ich hab mir gedacht ich bekomme es hin durch Primfaktorerkennung mit einer for schleife
Nun habe ich total viele Möglichkeiten schon versucht beide Aufgaben in einen Code zusammenzufügen bekomme jedoch oft Probleme damit...
Hoffe mir kann hier jemand weiterhelfen.
Habe inzwischen mein fehler mit den -1en entdeckt und verbesser ich bräuchte nur noch einen vorschlag zum zusammenfügen
bin derzeit an einer Übungsaufgabe und komme einfach nichtmehr weiter.
Es geht darum eine Primfaktorzerlegung in C zu programmieren.
Das ist aktuell mein Code
Code:
#include <stdio.h>
int main() {
int z, p=2;
scanf("%d", &z);
if ((z== 0) || (z==1)) {
printf("%d ist prim.\n", z);
}
else {
while (z%p!=0)
{
p++;
}
while(z%p==0)
{
z=z/p;
printf("%d\n", p);
while (z%p!=0)
{
p++;
}
}
if (z%p!=0) {
p++;
z = z / p;
printf("%d\n ", p);
p++;
}
}
return 0;
}
Es funktioniert auch alles jedoch kommt es zu einem Fehler. Etwa 1 - 2 Minuten nach der Primfaktorzerlegung im Programm haut er mir unendliche (-1)e raus.
Das nächste Problem ist nun wenn der Anwender eine Primzahl eingibt soll dieser direkt "Prim" ausgeben und nicht den Faktor. Ich hab mir gedacht ich bekomme es hin durch Primfaktorerkennung mit einer for schleife
Code:
#include <stdio.h>
int main() {
int z, p=2;
scanf("%d", &z);
if ((z== 0) || (z==1)) {
printf("%d ist prim.\n", z);
}
else {
for ( int teiler=2; teiler < z; teiler++) {
if( z % teiler == 0) {
}
}
printf("Primzahl\n");
}}
Nun habe ich total viele Möglichkeiten schon versucht beide Aufgaben in einen Code zusammenzufügen bekomme jedoch oft Probleme damit...
Hoffe mir kann hier jemand weiterhelfen.
Ergänzung ()
Habe inzwischen mein fehler mit den -1en entdeckt und verbesser ich bräuchte nur noch einen vorschlag zum zusammenfügen
Zuletzt bearbeitet: