AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

4 Variablen sollen = 1302 sein.

Ein Thema von Dave_lernt_Delphi · begonnen am 26. Apr 2009 · letzter Beitrag vom 1. Mai 2009
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.550 Beiträge
 
Delphi 12 Athens
 
#1

Re: 4 Variablen sollen = 1302 sein.

  Alt 26. Apr 2009, 16:55
also erstmal geht soeine Zuweisung garnicht, da es mehrere Lösungen gibt und woher soll Delphi wissen wie was da zugewiesen werden soll.

schon alleine für Folgendes gibt es 13533 Lösungen
Delphi-Quellcode:
var
  x, y, z: Integer;

begin
  for x := -1000 to 1000 do
    for y := x to 1000 do
      for z := -1000000 to 1000000 do
        if x * y + z = 1302 then
          Memo1.Lines.Add(Format('%d * %d + %d = 1302', [x, y, z]));
  Memo1.Lines.Add(Format('%d Lösungen', [Memo1.Lines.Count]));
end;
und das obwohl ich die Wertebereiche eingeschrenkt und doppelte Lösungen ignoriert hab.
x und y kann hier ja getauscht werden, was dann sozusagen fast doppelt soviele Lösungen Ergäbe.

jo, und je mehr Variablen und um so größer der wertebereich .... um so mehr wird es

du kannst ja mal schauen wie lange dieses hier braucht, um alles auszutesten und wie viel Lösungen es dann gibt
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  x, y, z, z2, q: Integer;

begin
  q := 0;
  for x := -1000 to 1000 do
    for y := -1000 to 1000 do
      for z := -1000000 to 1000000 do
        for z2 := -1000000 to 1000000 do
          if x * y + z - z2 = 1302 then
          begin
            if (q < 1000) or (q and $ff = 0) then Memo1.Lines.Add(Format('%d * %d + %d - %d = 1302', [x, y, z, z2]));
            Inc(q);
          end;
    Memo1.Lines.Add(Format('%d Lösungen', [q]));
end;
wobei es hierfür schon eine sehr einfache vereinfachung gibt ... siehe erster Code ... ohne z2 prüfen und dann z nochmals in z-z2 zwelegen
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:03 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