![]() |
Teiler
Hi Leute!
Ich wollte ein kleines Programm schreiben, mit dem ich ganz einfach die Teiler einer eingegebenen Zahl in eine Listbox schreiben lasse. Hierzu habe ich forgenden Quellcode:
Delphi-Quellcode:
Allerdings sollen nur ganze Zahlen eingetragen werden...
procedure TForm1.BTeilerClick(Sender: TObject);
var ergebnis, i, o : integer; begin o:= StrToInt(E1.Text) ; for i:=1 to o do begin ergebnis:= o div i; LB1.Items.add(IntToStr(ergebnis)) end; end; Das Programm rundet jedoch die Zahlen, wenn sie keine Ganzzahlen sind. Dies soll verhindert werden, damit in der ListBox(LB1) nur die ganzahligen Teiler zu sehen sind. Wie mache ich das? |
Re: Teiler
Delphi-Quellcode:
for i:=1 to o do begin
if o mod i = 0 LB1.Items.add(IntToStr(i)) end; |
Re: Teiler
Du verwendest ja nur ganze Zahlen, da wird nichts gerundet. Ich vermute eher, Du suchst mod, das gibt Dir den Rest einer ganzzahligen Division zurück. Dieser muss bei "glatter" Division immer 0 sein.
|
Re: Teiler
ok danke funktioniert :-D
|
Re: Teiler
Ach ja: Ich kenn jetz deine Aufgabenstellung nicht, aber i.d.R. lässt man bei sowas die trivialen Teiler (1 und o, weil dadurch ist ja eh jede Zahl teilbar), weg. Somit wäre es dann
Delphi-Quellcode:
for i := 2 to o - 1 do begin
... |
Re: Teiler
Zitat:
|
Re: Teiler
Ich denke, nur bis zur Wurzel. Das hatten wir letztens schonmal.
|
Re: Teiler
jaa, wenn o durch i teilbar ist, dann ist o auch durch (o/i) teilbar
|
Re: Teiler
Bis zur Wurzel muss die Schleife laufen, wenn es darum geht, ob o prim ist. Aber wenn es um alle Teiler geht, ist das falsch.
|
Re: Teiler
naja, man müsste schon bis zur wurzel laufen und dann den faktor, der zu dem teiler passt finden. zum beispiel bei 12 als teiler 1, 2, 3 und dazu (12/teiler) 12, 6 und 4
edit: wenn natürlich keine teiler bis zur wurzel auftreten ists schon ne primzahl ;) |
Re: Teiler
Einverstanden. Allerdings sind die Teiler dann nicht mehr geordnet.
|
Re: Teiler
dann dreht man die zweite schleife um ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz