K
KPvC
Hallo,
ich hab mal eine kleine Frage:
Ich habe ein Programm mit C geschrieben, welches Zahlen in ihre Primzahlfaktoren zerlegt. (das läuft auch soweit ganz gut)
Also gibt man z.B "25" ein, so wird "25 = 1 * 5 * 5" ausgegeben.
Gibt man z.B "17" ein, so wird "17 ist ein Primzahl ausgegeben".
Ich bin totaler Anfänger auf dem Gebiet C-Programmierung und soll das Programm zeitotimieren. Ich habe kein Plan wie ich das Ding schneller machen kann ;-(
Vielleicht kann mir ja einer von euch einen Rat geben.
Hier der Quelltext:
ich hab mal eine kleine Frage:
Ich habe ein Programm mit C geschrieben, welches Zahlen in ihre Primzahlfaktoren zerlegt. (das läuft auch soweit ganz gut)
Also gibt man z.B "25" ein, so wird "25 = 1 * 5 * 5" ausgegeben.
Gibt man z.B "17" ein, so wird "17 ist ein Primzahl ausgegeben".
Ich bin totaler Anfänger auf dem Gebiet C-Programmierung und soll das Programm zeitotimieren. Ich habe kein Plan wie ich das Ding schneller machen kann ;-(
Vielleicht kann mir ja einer von euch einen Rat geben.
Hier der Quelltext:
C++:
#include <stdio.h>
#include <stdlib.h>
int main()
{
while (1)
{
unsigned long long i,c,kleinster_Teiler=2;
time_t startzeit,endzeit;
float laufzeit;
printf("\nBitte geben Sie eine Berechnungzahl ein: ");
scanf("%I64u",&i);
c=i;
startzeit=clock(1);
while (kleinster_Teiler<i)
{
if (c%kleinster_Teiler==0)
{
printf("%I64u = 1 * ",c);
kleinster_Teiler=i;
}
else
{
kleinster_Teiler++;
}
}
kleinster_Teiler=2;
while (i>1)
{
if (i%kleinster_Teiler==0)
{
printf("%I64u",kleinster_Teiler);
i=i/kleinster_Teiler;
if (i>1)
printf(" * ");
}
else
kleinster_Teiler++;
}
endzeit=clock(2);
if (kleinster_Teiler==c)
{
printf(" ist eine Primzahl");
}
laufzeit=(endzeit-startzeit)/1000;
printf("\nLaufzeit: %f Sekunden\n",laufzeit);
}
return 0;
}
Zuletzt bearbeitet von einem Moderator: