Faktorisierung Turbo Pascal
aus Paswiki Turbo Pascal, der freien Wissensdatenbank
Beschreibung
Dies ist ein Turbo Pascal Programm, das für Sie die Faktorisierung (bzw. Primfaktorzerlegung) durchführt.
z.B.: 153 = 3 * 3 * 17
Programm
program Faktorisierung; {von Fabian Reuter 08. Maerz 06}
{$N+}
uses crt,dos;
var eingabe:extended;
time,time2:real;
h1,m1,s1,s1001,h2,m2,s3,s1002:word;
zahl:extended;
count:longint;
begin
writeln('Welche Zahl soll zerlegt werden ?');
writeln;
writeln('Bis zu 10^18 ...');
readln(eingabe);
gettime(h1,m1,s1,s1001);
time:=60*m1+s1+((1/100)*s1001);
zahl:=1;
repeat
count:=0;
zahl:=zahl+1;
if (odd(trunc(zahl))) or ((zahl)=2) then
begin
if zahl> round(sqrt(eingabe)) then
begin
writeln(eingabe:0:0,' ^ 1 *');
break;
end;
repeat
if frac(eingabe/trunc(zahl))=0 then
begin
count:=count+1;
eingabe:=(eingabe/zahl);
end;
until frac(eingabe/trunc(zahl))<>0;
if count>0 then
begin
writeln(zahl:0:0,' ^ ',count, ' *');
end;
end;
if eingabe=1 then break;
until keypressed;
writeln(1);
gettime(h2,m2,s3,s1002);
time2:=60*m2+s3+((1/100)*s1002);
writeln;
writeln('Zeit : ',(time2-time):5:2,' Sekunden');
readln;
end.
--Gastarbeiter 20:33, 14. Mär 2006 (CET)
