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)


'Persönliche Werkzeuge
Extras