Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Sonstiges (https://www.delphipraxis.net/45-library-sonstiges/)
-   -   Primfaktorzerlegung (https://www.delphipraxis.net/11111-primfaktorzerlegung.html)

HAF4ever 31. Okt 2003 10:40


Primfaktorzerlegung
 
Hier mal ein Code, wie man eine Zahl in ihre Primfaktoren zerlegen kann.
Die Ausgabe erfolgt in der Form 2*2,2*5 (z.B .für 100).

Delphi-Quellcode:
program Primfaktorzerlegung;
  {$APPTYPE CONSOLE}
uses
  SysUtils;

var
   value: Integer;

{die Funktion, die testen ob eine Zahl eine Primzahl ist}
function isPrime(x: integer): Boolean;
var
  i: Integer;
begin
  isPrime := true;
  for i := 2 to x-1 do
    if x mod i = 0 then isPrime := false
end;

{die Prozedur, zerlegt die Zahl in die Primfaktoren und
 gibt sie gleichzeitig aus}
procedure PrintPrimeFactors(x: Integer);
var
  i, j: Integer;
begin
  for i := 2 to x do
  begin
    j := 0;
    while x mod i = 0 do
    begin
      x := x div i;
      inc(j)
    end;
    if j > 0 then
    begin
      if j = 1 then write(i) else write(j, '*', i);
      if x <> 1 then write(',')
    end;
  end;
end;

begin
  write('Zahl eingeben: ');
  readln(value);
  PrintPrimeFactors(value);
  readln
end.
[edit=Matze]Code formatiert. Mfg, Matze[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz