Hallo,
bin gerade dabei ein C-Code zu schreiben, der die Primfaktorzerlegung bei einer natuerlichen Zahl durchfuehren soll.
Mein Problem dabei ist, dass das Programm mir nur die geraden Zahlen richtig zerlegt und die ungeraden Zahlen jedoch nicht.
Kann mir da jemand vielleicht mal helfen.
LG
Cherry07
_____________________
/*Primfaktorzerlegung*/
# include<stdio.h>
int main (void)
{
int x, a=2;
printf("Geben Sie eine natuerliche Zahl ein: ");
scanf("%d", &x);
if ((x==0) || (x==1))
{
printf("Werteingabe unzulaessig, da x nicht 0 oder 1 sein darf.");
}
else
{
while (x%a==0)
{
x=x/a;
printf("%d,", a);
while (x%a!=0)
{
a++;
}
}
if (x%a!=0)
{
a++;
x=x/a;
printf("%d,", a);
a++;
}
}
return 0;
}
bin gerade dabei ein C-Code zu schreiben, der die Primfaktorzerlegung bei einer natuerlichen Zahl durchfuehren soll.
Mein Problem dabei ist, dass das Programm mir nur die geraden Zahlen richtig zerlegt und die ungeraden Zahlen jedoch nicht.
Kann mir da jemand vielleicht mal helfen.
LG
Cherry07
_____________________
/*Primfaktorzerlegung*/
# include<stdio.h>
int main (void)
{
int x, a=2;
printf("Geben Sie eine natuerliche Zahl ein: ");
scanf("%d", &x);
if ((x==0) || (x==1))
{
printf("Werteingabe unzulaessig, da x nicht 0 oder 1 sein darf.");
}
else
{
while (x%a==0)
{
x=x/a;
printf("%d,", a);
while (x%a!=0)
{
a++;
}
}
if (x%a!=0)
{
a++;
x=x/a;
printf("%d,", a);
a++;
}
}
return 0;
}
Zuletzt bearbeitet: