WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Zahl auf Merkmale überprüfen + Primzahltest

 

BNI
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 13.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2009, 15:16     Titel: Zahl auf Merkmale überprüfen + Primzahltest
  Antworten mit Zitat      
Hallo liebe Forumsgemeinde!

Ich bin Maschbau Student in Wolfsburg, habe erst wenig Erfahrung mit MatLab und brauche mal eure Hilfe, da ich nichts Konkretes zu dem Thema gefunden habe!

Ich möchte ein Rätsel lösen, und zwar sind alle 11 stelligen Primzahlen gesucht, die so aussehen:
Primzahl "abcdefghikl" (a,b,c usw stehen für die einzelnen Stellen)
mit
a ungleich 0
c=k
f=h=l
e=i

Durch diese Eingrenzung kann es nicht mehr allzuviele Zahlen geben, bei denen ein Primzahltest durchgeführt werden müsste.

Ich habe mir also gedacht bei 10.000.000.000 anzufangen und dann immer pro Schleife + 1 zu rechnen.
In der Schleife werden die Bedingungen der Stellen überprüft, also ob die 3. Stelle den gleichen Wert wie die 10. Stelle hat usw.
Falls alle Bedingungen erfüllt sind kommt der Primzahltest, falls nicht, geht es von vorne los.

Fall sich heraus stellt, dass eine Primzahl vorliegt, wird sie in eine .txt Datei geschrieben, die dann fortlaufend gefüllt wird.

Nun ein paar Fragen:

Würde das Klappen und wenn ja, wäre es überhaupt zeitlich in einem zumutbaren Rahmen?
Wie krieg ich die Überprüfung der Stellen hin?
Welchen Primzahltest könnte ich verwenden?


schonmal vielen Dank für eure Antworten Smile

mfg
Benni
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 13.11.2009, 15:59     Titel:
  Antworten mit Zitat      
Das ist ja zur Abwechslung mal eine wirklich nette Aufgabe. (Ich würde gerne wissen - PN oder Email - wer die gestellt hat).

Der Primzahltest ISPRIME dürfte bekannt sein.

Alle 11-stelligen Zahlen passen aber ja nicht in den Speicher, d.h. man muss die "constraints" tatsächlich vorher anwenden und kann nicht einfac darauf losrechen. Intelligent gemacht!

Ich glaube nicht, dass die grosse Schleife zeitlich funktioniert. Vielleicht funktioniert es besser indem man die Zeichen der Zahlen zusammenfügt und dann in ene Zahl umwandelt? Sorry, ich kann gerade zeitlich kein Beispiel machen wie ich es meine.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.11.2009, 16:09     Titel:
  Antworten mit Zitat      
Hallo,

das wären 89.999.999.999 Iterationen... also quasi nicht machbar.

Meine Idee wäre in etwa so (Pseudo-Code) :
for a=1:9
for b=0:9
for c=0:9
for d=0:9
for e=0:9
for f=[1 3 7 9] %alle anderen sind durch 2 oder 5 teilbar
for g=0:9
zahl = a*1e10 + b*1e9 + c*1e8 + d*1e7 + e*1e6 + f*1e5 + g*1e4 + f*1e3 + e*1e2 + c*1e1 + f;

Damit sind es nur noch 3600000 Kombinationen.
Primzahltest: ich würde normal isprime vorschlagen, der läuft aber nur bis 2^32.
Dumme Frage: für was soll das denn gut sein??

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
BNI
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 13.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2009, 16:13     Titel:
  Antworten mit Zitat      
Hallo,

danke für die Antworten!

Ich möchte das Rätsel lösen, um damit einen Standort mittels Koordinaten zu bestimmen, das ganze nennt sich geocaching, ist einigen von euch sicher bekannt Wink

schaut doch mal rein
http://www.geocaching.com/seek/cach.....bd-4d7b-bf03-0fcc0ddc0f25


scheint ja echt ziemlich kompliziert zu sein .. hm .. weitere Vorschläge?

mfg
Private Nachricht senden Benutzer-Profile anzeigen
 
BNI
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 13.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.11.2009, 17:22     Titel:
  Antworten mit Zitat      
keine weiteren antworten?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.11.2009, 19:30     Titel:
  Antworten mit Zitat      
Hallo,

eine Anregung: MuPAD (kommt mit der Symbolic Math Toolbox) erlaubt es, mit ISPRIME auch größere Zahlen zu testen. Zusammen mit meinem vorherigen Vorschlag müsste das also gehen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 16.11.2009, 13:35     Titel:
  Antworten mit Zitat      
Also ich kann jetzt das oben beschriebene Problem lösen. Allerdings dauert es ca. 1 Tag das durchzurechnen und ergibt weit über 100000 Ergebnisse. Daher vermute ich, dass es noch ein paar Randbedingungen mehr gibt, oder ein Fehler bei der Umformulierung geschehen ist.

Andreas

P.S. Die Methode für den Primzahltest von grossen Zahlen_

Code:

zahlstring='12345678910'; % Andere Strings durch Stringoperationen zusammenfügen
befehlstring=['isprime(', zahlstring ,')'];
x=evalin(symengine,befehlstring); % Benötigt Symbolic Math Toolbox
 
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.