Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zahlen symmetrisch (https://www.delphipraxis.net/110992-zahlen-symmetrisch.html)

xShadowBoZz 27. Mär 2008 19:57


Zahlen symmetrisch
 
hab wieder mal ein problem, ich wollte einfach ma ausprobiern was ich so alles mit zaheln kann und hab geguckt ob ich herausfinden kann ob eine zahl symmetrisch ist oder nicht.
hierbei musste ich allerdings festellen das ich das nicht hinkrieg.
ich weis einfach nicht wie ich es abfragen soll und wollte hier wissen ob mir jmd helfen kann.

also: biem anwenden des programms gebe ich irgendeine zahl in ein editfeld ein und drueck auf einen button, hier bei soll dann (z.b) label9.caption:='symmetrisch';
zumindestens hab ich mir das so vorgestellt nur weis ich nicht genau wie ich das abfragen soll.
ich wuerd das gern ungefair so machen

lg
andy :dp:

DeddyH 27. Mär 2008 19:59

Re: Zahlen symmetrisch
 
Du meinst Primzahlen?

xShadowBoZz 27. Mär 2008 20:01

Re: Zahlen symmetrisch
 
>.< habs grad bemerkt das ich von primzahlen rede.
sry aber ja meine symmetrische zahlen.

Der.Kaktus 27. Mär 2008 20:06

Re: Zahlen symmetrisch
 
Hallo,
mich mal eben kundig gemacht habe, da Begriff Symmetrische Zahlen mir kein Begriff war..Du meinst also

"Wir wollen eine natürliche Zahl „symmetrisch" nennen, wenn ihre Zifferndarestellung von rechts gelesen ebenso lautet wie von links. Dabei soll stets auch die 0 als Anfangsziffer mitberücksichtigt werden. So sind z.B. 15251, 037730 und 0000 symmetrische Zahlen."

dies?

wido 27. Mär 2008 20:07

Re: Zahlen symmetrisch
 
Hmmm ... was Du meinst sind Primzahlen. Hab noch nie den Begriff von "symmetrische Zahl" gehört. Naja, die einfachste Methode ist folgende:

Du willst prüfen ob die Zahl z eine Primzahl ist. Also ermittelst Du alle Zahlen x zw. 2 und z-1 und schaust nach, ob z modulo x = 0 ist:

Delphi-Quellcode:
function IstPrimzahl(z : integer) : boolean;
var
  i : integer;
begin
  result := true;
  for i := 2 to z-1 do
    if z mod i = 0 then
      begin
        result := false;
        exit;
      end;
end;
Das Problem ist übrigens auch als Faktorisierungsproblem bekannt. Eine effiziente Lösung ist nicht existent. Allerdings kannst Du den Aufwand für den Bruteforce Ansatz verringern. Du musst z.B. prinzipiell nicht bis z-1 testen sondern nur bis Wurzel aus z etc.. Aber das führt zu weit.

Für was magst das ganze denn verwenden?

DeddyH 27. Mär 2008 20:08

Re: Zahlen symmetrisch
 
Eine mathematische Formel für symmetrische Zahlen kenne ich jetzt nicht, aber wenn Du sie als String betrachtest, solltest Du der Lösung schnell nahe kommen.

dominikkv 27. Mär 2008 20:12

Re: Zahlen symmetrisch
 
Delphi-Quellcode:
function isPrime(Zahl: Integer): Boolean;
var
  Temp: Integer;
begin
  Temp := 2;
  while ((Zahl mod Temp) <> 0) and (Zahl > Temp) do
    inc(Temp);

  result := Zahl = Temp;
end;

DeddyH 27. Mär 2008 20:14

Re: Zahlen symmetrisch
 
Hallo! Symmetrische Zahlen, nicht Primzahlen :P

dominikkv 27. Mär 2008 20:17

Re: Zahlen symmetrisch
 
Zitat:

Zitat von DeddyH
Hallo! Symmetrische Zahlen, nicht Primzahlen :P

ohh..ähh..was sind symmetrische Zahlen? Wikipedia kennt das nicht^^
Ist zB die 8 eine symmetrische Zahl? Oder meint der sowas wie 123321?

DeddyH 27. Mär 2008 20:19

Re: Zahlen symmetrisch
 
Siehe #4. 12345 ist nicht symmetrisch, 12321 hingegen schon. Du kannst auch mal nach Palindrom schauen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 Uhr.
Seite 1 von 4  1 23     Letzte »    

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 by Thomas Breitkreuz