Registriert seit: 17. Nov 2005
Ort: Hamburg
1.057 Beiträge
Delphi XE2 Professional
|
Re: Zahl als Bruch speichern
15. Okt 2007, 19:41
@ws1976
Ich schlage folgende Änderungen vor
In der Funktion ggt sollten die lokalen Variablen den Typ Int64 haben.
Warum?:
Weils sonst falsche Ergebnisse bringt, wenn nur einer der Parameter > maxint ist.
in der Funktion kgv sollte nicht stehen
result:=b0*b1 div ggt(b0,b1);
sondern
result:=b0 div ggt(b0,b1) * b1;
Warum?:
Weils sonst falsche Ergebnisse gibt, wenn b0*b1 > High(int64) ist.
Das ist zwar auch bei der geänderten Variante nicht ausgeschlossen, tritt aber erst bei deutlich höheren Werten auf.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
|