AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Obere Grenze für math. Problem gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

Obere Grenze für math. Problem gesucht

Ein Thema von Synollus · begonnen am 3. Aug 2009 · letzter Beitrag vom 3. Aug 2009
Antwort Antwort
Synollus

Registriert seit: 29. Dez 2008
49 Beiträge
 
#1

Obere Grenze für math. Problem gesucht

  Alt 3. Aug 2009, 11:09
Hi,

ich möchte gerne alle Zahlen summieren, für die gilt: Die Summe der Fakultäten der Ziffern einer Zahl ist gleich die Zahl selber.

Das trifft für 1, 2, 145 und 40585 zu. Angenommen ich weiß nicht, dass es nur 4 Zahlen gibt, wie kann ich denn eine obere Schranke ermitteln, dass mein Programm auch irgendwann terminiert?

Ich hoffe ihr könnt mir helfen.
  Mit Zitat antworten Zitat
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: Obere Grenze für math. Problem gesucht

  Alt 3. Aug 2009, 11:23
Du könntest das Maximum des Datentyps, den du benutzt, als obere Schranke nutzen...Bei integer also 2147xxxxxx...
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Obere Grenze für math. Problem gesucht

  Alt 3. Aug 2009, 11:24
Zitat von Sven M.:
Du könntest das Maximum des Datentyps, den du benutzt, als obere Schranke nutzen...Bei integer also 2147xxxxxx...
Oder einfach die Konstanten MaxInt oder MaxLongint benutzen
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

Re: Obere Grenze für math. Problem gesucht

  Alt 3. Aug 2009, 11:25
Hallo,

mmmh,

Du könntest eine maximale Länge für Deine Zahlen festlegen
oder für alle Zahlen probieren, die kleiner als 1.000.000 sind
oder für alle Zahlen probieren, die größer als 1.000.000 sind
oder für alle Zahlen probieren, die größer als 1.000.000 und kleiner als 1.000.000.000 sind, damit Du einen Startwert und einen Endewert hast. Dadurch kannst Du bei einem neuen Programmstart das Berechnen von bereits berechneten Werten überspringen.

Wenn Du Start- und Endewert als Eingabe oder Programmparameter machst, kannst Du das Programm beliebig konfigurieren.

Eventuell baust Du einen Abbrechenbutton ein, der eine globale Variabel setzt. Nach jedem Prüfen einer Zahl fragst Du ab, ob die globale Variabel den vom Abbrechbutton gesetzten Wert hat, wenn ja, verläßt Du die Berechnungsroutine mit Exit, Break...
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Obere Grenze für math. Problem gesucht

  Alt 3. Aug 2009, 11:28
Für dieses spezielle Problem würde ich das so überlegen:

Eine Zahl x hat log_10(x) viele Ziffern. Jede Ziffer kann maximal den Wert 9 annehmen, 9! sind 362880. Intuitiv ist klar, das log(x) * 3622880 für sehr große x nicht mehr größer/gleich sein kann als x selbst. Wenn man das nicht selber lösen mag, dann gibt man mal "log_10(x) * 362880 > x" bei WolframAlpha ein und erhält dann als Ganzzahlergebnis: x < 2.309.170. Das sollte passen.
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Obere Grenze für math. Problem gesucht

  Alt 3. Aug 2009, 11:30
Zitat von Synollus:
Das trifft für 1, 2, 145 und 40585 zu. Angenommen ich weiß nicht, dass es nur 2 Zahlen gibt...
Ich verstehe gerade nicht, was du genau mit "nur 2 Zahlen" meinst. 1, 2, 145, und 40585 wären ja schon 4

Edit: DENKFEHLER

Patti
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  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 20:41 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