Matroids Matheplanet Forum Index
Moderiert von Bilbo matph
Informatik » Sonstiges zur Informatik » Goldbach - Zahlenkettenprogramm
Autor
Schule Goldbach - Zahlenkettenprogramm
Bekell
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.09.2008
Mitteilungen: 2885
  Themenstart: 2018-11-01

Programmneugestaltung Also ich habe folgende Programmier-Frage an eine Goldbach Zahlenkette. Unten liegt 1- 4999. PZ=schwarz, ZZ=UNPZ=weiss. Von der Kette darüber weiß ich die UNPZ-Ketten. z.B. gibt es dort eine UNPZ (ungerade Nichtprimzahl) Kette, Länge 17. Jetzt Frage ich: Wie oft kann ich die 17-ner Kette oben (5001-9999 )positionieren, ohne daß eine der beiden die 17-er UNPZ_Kette rahmenden PZ über einer PZ unten zu stehen kommt. Das ist so etwas über 1000 mal. Dann nehme ich die unmittelbar davorliegende UNPZ-Kette, Länge 6, füge die mit der 17 zusammen und stelle dieselbe Frage. Es kommt weniger raus. Dann nehme ich wieder die unmittelbar vor der 6 liegende UNPZ-Kette.... usw. Hierbei lassen wir vollkommen außer acht, daß oben zwischen den einzelnen UNPZ-Ketten des Codes auch PZ-Zwillinge sein können. Jetzt die Hauptfrage: Wie oft muß ich das im Durchschnitt machen, bis ich zu der rettenden 1 komme. Also: Wie lang muß der Abschnitt sein, bis er nur noch einmal passt? Ich habe ein Programm geschrieben, worin ich die jeweilige Verlängerung der Kette per Hand mache. Vllt kann das jemand so automatisieren, daß ich nur noch die Grundlänge eingebe und den UNPZ Kettencode, als 5pz6pz17 und er wirft mir die Anzahl aus, und sagt, wieviel weitere Ketten angefügt werden müssen, um die 1, die Schloß/Schlüssel Situation zu erhalten. Mein Programm funktioniert, nur etwas umständlich: \sourceon C++ \numberson // Das Macro prüft, wie oft eine UNPZ-Kette oder eine Folge von UNPZ-Ketten in einem Abschnitt plaziert werden kann, ohne das es PZ/PZ Treffer gäbe. #include #include #include #include #include #include #include #include #include using namespace std; int Grenze=5000-1; int pc1=5; //Prüflänge (UNPZ Kette) int pc2=2; int pc3=5; int pc4=2; int pc5=1; int pc6=2; int pc7=5; int pc8=6; int pc9=17; int nr=1; int prz1=0; //Prüfzahl int prz2=0; int prz3=0; int prz4=0; int prz5=0; int prz6=0; int prz7=0; int prz8=0; int prz9=0; int x; bool prim();// Bool Primzahlprüfung bool prim(int n) { int x; if(n<2) return false; if(n==2) return false; if(n%2==0) return false; for(x=3;x<=sqrt(n);x+=2){ if(n%x==0) return false; } return true; } int main(int argc, const char * argv[]) { for (x=Grenze; x>=2*(pc1+pc2+pc3+pc4+pc5+pc6+pc7+pc8+pc9); x=x-2) { prz1=x-(2*pc1+2); prz2=prz1-(2*pc2+2); prz3=prz2-(2*pc3+2); prz4=prz3-(2*pc4+2); prz5=prz4-(2*pc5+2); prz6=prz5-(2*pc6+2); prz7=prz6-(2*pc7+2); prz8=prz7-(2*pc8+2); prz9=prz8-(2*pc9+2); if (prim(prz1)==false && prim(prz2)==false && prim(prz3)==false && prim(prz4)==false && prim(prz5)==false && prim(prz6)==false && prim(prz7)==false && prim(prz8)==false && prim(prz9)==false && prim(x)==false) { cout<


   Profil
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 27785
Wohnort: Hessen
  Beitrag No.1, eingetragen 2018-11-01

Hä :-o ? Nicht jeder liest alle deine Posts. D.h. deine selbsterfundenen Begriffe sind nur wenigen bekannt, noch weniger Leuten geläufig. Du solltest also eine Frage so stellen, daß sie autark ist, d.h. unabhängig von deinen anderen Threads. Alle Begriffe, die aus deiner Gedankenwelt stammen, müssen also erklärt werden. Was ist überhaupt bei dir eine „Kette“? „schwarz/schwarz Passion“? etc. \quoteon(Bekell) Das Macro prüft … \quoteoff Und wieso bezeichnest du ein vollständiges Programm immer als Macro ? Gruß vom ¼


   Profil
Bekell
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.09.2008
Mitteilungen: 2885
  Beitrag No.2, vom Themenstarter, eingetragen 2018-11-01

\quoteon(2018-11-01 12:17 - viertel in Beitrag No. 1) Hä :-o ? Nicht jeder liest alle deine Posts. D.h. deine selbsterfundenen Begriffe sind nur wenigen bekannt, noch weniger Leuten geläufig. Du solltest also eine Frage so stellen, daß sie autark ist, d.h. unabhängig von deinen anderen Threads. Alle Begriffe, die aus deiner Gedankenwelt stammen, müssen also erklärt werden. Was ist überhaupt bei dir eine „Kette“? „schwarz/schwarz Passion“? etc. \quoteoff Okay, hab was gemacht .... die Passion mußte wirklich nicht hin ... \quoteon Und wieso bezeichnest du ein vollständiges Programm immer als Macro ? \quoteoff Gibt es dafür irgendeine Norm? Ich denke bei Programm immer an sowas wie Final Cut oder Excel.... Bei meinen paar Anweisungen weigere ich mich irgendwie innerlich von Programm zu sprechen .... kannst Du das verstehen?


   Profil
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 27785
Wohnort: Hessen
  Beitrag No.3, eingetragen 2018-11-01

Nö 8-) Egal, ob umfangreich oder klein: selbständig lauffähig, also Programm. Guckst du mal hier: Makro


   Profil
DerEinfaeltige
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.02.2015
Mitteilungen: 3175
  Beitrag No.4, eingetragen 2018-11-01

\quoteon(2018-11-01 12:41 - Bekell in Beitrag No. 2) \quoteon Und wieso bezeichnest du ein vollständiges Programm immer als Macro ? \quoteoff Gibt es dafür irgendeine Norm? \quoteoff Der Begriff Macro ist hier äußerst ungeschickt gewählt, da man in C/C++ darunter üblicherweise Scripts des Präprozessors versteht. Bspw. sowas wäre ein Macro: \sourceon C #define max(x,y) (x>y)?x:y \sourceoff Was du schreibst sind vollständige Programme, die aus Funktionen und Prozeduren bestehen. Der Rest der Frage ist für mich leider nicht verständlich. Falls du wissen willst, wie man etwas halbwegs vernünftig implementiert, stelle konkret und sauber eine Frage bspw. indem du die beabsichtigte Funktionalität mit normalen Worten beschreibst und am Besten an einem anschaulichen Beispiel vorführst. [Die Antwort wurde nach Beitrag No.2 begonnen.]


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 528
Wohnort: Deutschland
  Beitrag No.5, eingetragen 2018-11-01

Hallo Bekell, dann nenne dein Programm einfach Skript. Denn von einem Programm würde ich bei dem Codeschnipsel auch nicht sprechen wollen. Laut Wikipedia ist ein Makro nichts weiter als eine Methode / Funktion. Sobald du also 2 oder mehr Funktionen nutzt ist der Begriff falsch. Zeile 38 bis 49 wäre ein "Makro"


   Profil
Bekell
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.09.2008
Mitteilungen: 2885
  Beitrag No.6, vom Themenstarter, eingetragen 2018-11-01

\quoteon(2018-11-01 18:20 - Scynja in Beitrag No. 5) Hallo Bekell, dann nenne dein Programm einfach Skript. Denn von einem Programm würde ich bei dem Codeschnipsel auch nicht sprechen wollen. Laut Wikipedia ist ein Makro nichts weiter als eine Methode / Funktion. Sobald du also 2 oder mehr Funktionen nutzt ist der Begriff falsch. Zeile 38 bis 49 wäre ein "Makro" \quoteoff habe kapiert, werd mich dran halten. Macro = Funktion Script = kurzes Programm Danke


   Profil
Bekell
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.09.2008
Mitteilungen: 2885
  Beitrag No.7, vom Themenstarter, eingetragen 2018-11-01

\quoteon(2018-11-01 15:22 - DerEinfaeltige in Beitrag No. 4) Falls du wissen willst, wie man etwas halbwegs vernünftig implementiert, stelle konkret und sauber eine Frage bspw. indem du die beabsichtigte Funktionalität mit normalen Worten beschreibst und am Besten an einem anschaulichen Beispiel vorführst. [Die Antwort wurde nach Beitrag No.2 begonnen.] \quoteoff Also: Ich hab mal ein Programm geschrieben, da muß man nur die Grenze eingeben, und dann gibt der die Ketten ungerader Nichtprimzahlen bis zur Grenze heraus. Zwischen zwei uNPZ liegen entweder eine PZ oder ein Zwilling. Logisch! KetNr:1 9 - 1-er uNPZ QZ=3 KetNr:2 15 - 1-er uNPZ KetNr:3 21 - 1-er uNPZ KetNr:4 25 - 2-er uNPZ QZ=5 KetNr:5 33 - 2-er uNPZ KetNr:6 39 - 1-er uNPZ KetNr:7 45 - 1-er uNPZ KetNr:8 49 - 2-er uNPZ QZ=7 KetNr:9 55 - 2-er uNPZ KetNr:10 63 - 2-er uNPZ KetNr:11 69 - 1-er uNPZ .... .... Jetzt legen wir die ung. Zahlen von 1 - 4999 in einer Reihe aus. Rückläufig darüber liegen eigentlich die ung. Zahlen von 5001 - 9999, aber die lassen wir jetzt mal weg. Wir nehmen stattdessen die uNPZ Kette Länge 17, die bei 9553 beginnt und bei 9585 endet. Die rahmenden ungeraden Zahlen 9551 und 9587 sind PZ. Wir tun so, als ob wir nicht wüßten, wo der Abschnitt genau zu finden ist. Also, diesen Abschnitt nehmen wir und schieben ihn auf der unteren Reihe entlang und notieren jeden Ort, auf dem die Kette zum Stehen kommt, und die rahmenden PZ nicht auf einer PZ unten zu stehen kommen. Es gibt davon eine ganze Menge. Wir mache das, um herauszufinden, wo im unteren Abschnitt überall sich zwei PZ mit der Distanz 17 positionieren lassen, ohne daß es zu einem PZ unten/PZ oben = schwarz/schwarz Situation kommt. Danach nehmen wir die an die 17-er Kette anschließende Kette, die 6-er hängen sie an die 17-an und verfahren genauso. Wir suchen alle Stellen auf dem unteren Abschnitt, auf dem die Kette p6p17p stehen kann, ohne das eine PZ über einer andern PZ unten zu stehen kommt. Das sind nun schon weniger, als beim 17-Abschnitt alleine. Jetzt fragen wir: Wieviele uNPZ Abschnitte müssen wir anfügen, bis der Abschnitt nur noch an einer Stelle zum Stehen kommt. Ist das so deutlich?


   Profil
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 27785
Wohnort: Hessen
  Beitrag No.8, eingetragen 2018-11-02

\quoteon(2018-11-01 18:43 - Bekell in Beitrag No. 6) \quoteon(2018-11-01 18:20 - Scynja in Beitrag No. 5) Hallo Bekell, dann nenne dein Programm einfach Skript. Denn von einem Programm würde ich bei dem Codeschnipsel auch nicht sprechen wollen. Laut Wikipedia ist ein Makro nichts weiter als eine Methode / Funktion. Sobald du also 2 oder mehr Funktionen nutzt ist der Begriff falsch. Zeile 38 bis 49 wäre ein "Makro" \quoteoff habe kapiert, werd mich dran halten. Macro = Funktion Script = kurzes Programm Danke \quoteoff Das ist beides Quatsch :-? So wie auch die „Erklärung“ von Scynja. Aber eigentlich auch Bekell-typisch: anders benennen als üblich. Wäre natürlich noch typischer, wenn du eine eigene Bezeichnung dafür erfunden hättest :-P Wie die Franzosen. Denen ist z.B. der Begriff Computer zu gebräuchlich, also nennen sie das Ding ordinateur. Wem's Spaß macht…


   Profil
Bekell
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.09.2008
Mitteilungen: 2885
  Beitrag No.9, vom Themenstarter, eingetragen 2018-11-02

\quoteon(2018-11-02 04:40 - viertel in Beitrag No. 8) Wäre natürlich noch typischer, wenn du eine eigene Bezeichnung dafür erfunden hättest :-P \quoteoff Also Viertel ... Was Dein "typisch" angeht, so gebe ich zu bedenke: Warum sollte ich was erfinden, von dem ich weiss, daß es das schon gibt? Neue Begriffe erhöhen das Wirrwarr und erschweren die Kommunikation. Das ich, wie richtig bemerkt, oft eigene Bezeichnungen habe, für Dinge, die es schon gibt, liegt ausschließlich daran, daß ich zur Zeit der Bildung meines neuen Begriffes nichts von der Existenz eines eingeführten Begriffes weiss, bzw. wusste, sonst hätte ich den ja benutzt. Im Übrigen muß ich für mich, um Erkenntnisse festzuhalten, Begriffe einführen. Da kommt niemand drum rum. Das mit dem "Erfinden" ist bezüglich des Begriffes Macro eine Unterstellung. Ich hatte in den frühen 90-iger Jahren mit Word-Perfekt zu tun, welches einen Macroeditor hatte, mit dem ich hinreichend komplexe Programme geschrieben hatte. https://matheplanet.com/matheplanet/nuke/html/uploads/b/23651_WordPerfektBild.png Ich selber wäre nie auf die Idee gekommen, Programme oder noch mehr kleine Programmteile als Macro zu bezeichnen, da ich mal was mit Altgriechisch zu tun hatte, wovon noch mindestens soviel im Hirn hacken geblieben ist, als das mir bewußt war und ist, daß das Wörtchen https://matheplanet.com/matheplanet/nuke/html/uploads/b/23651_makrosBild.png meistens mit "groß" übersetzt wird, und ich keinerlei Tertium comparationis erspähen kann, welches es erlauben würde, die Bedeutung "Groß" auf ein Progrämmchen zu übertragen. Denn gegenüber einem WordPerfect-Macro ist das Programm WordPerfect selber groß. Augenscheinlich des c in dem Wort Macro hat Herr Göckel dieses wohl selber "unüberlegt?" und unübersetzt ins Deutsche als Bezeichnung für kleines Programm aus dem Englischen hinübergebracht, wovon ich es dann unreflektiert nach C++ gezogen habe. Ich werde von diesem irreführenden Gebrauch in Zukunft absehen.


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 528
Wohnort: Deutschland
  Beitrag No.10, eingetragen 2018-11-02

@Viertel zur Herkunft von Makro: https://de.wikipedia.org/wiki/Skriptsprache \quoteon Programme, die in Skriptsprachen geschrieben sind, werden auch Skripte oder Scripts genannt, während in der Betriebssystemumgebung von Microsoft meistens die Bezeichnung Makro verwendet wird. Skripte werden fast ausschließlich in Form von Quelltextdateien ausgeliefert, um so ein einfaches Bearbeiten und Anpassen des Programms zu ermöglichen \quoteoff Während der Begriff Makro in Wikipedia so definiert ist: https://de.wikipedia.org/wiki/Makro \quoteon Ein Makro ist in der Softwareentwicklung eine unter einer bestimmten Bezeichnung (Makroname) zusammengefasste Folge von Anweisungen oder Deklarationen, um diese (anstelle der Einzelanweisungen, i. d. R. an mehreren Stellen im Programm) mit nur einem einfachen Aufruf ausführen zu können.[1] Alle Anweisungen des Makros werden automatisch an der Programmstelle ausgeführt, an denen das Makro codiert wurde. Makros sind eine Variante von Unterprogrammen und können (je nach Implementierung) auch mit Parametern aufgerufen werden \quoteoff Da C keine Scriptsprache ist, fällt das Script offensichtlich weg. Die Definition der Makroseite definiert ein Marko jedoch eindeutig als Synonym für Funktion / Methode. Wenn du darauf bestehst allen Code in Scriptsprachen Scripte zu nennen und jeglichen Code in nicht Scriptsprachen Programm nennen möchtest, dann ist das so. Soweit ich weiß, gibt es keine einheitlich anerkannte Definition für die Begriffe. In dem Artikel für Scriptsprachen geht es um den Zweck kleinere Aufgaben zu erfüllen. Ich selbst entwickle mit Javascript, wo ich 200 bis 600mb Dependencies / Abhängigkeiten habe, wobei schon eine große Komplexität erreicht wird. Im Vergleich dazu steht der kurze Codeschnipsel in einer Nichtscriptsprache mit nichts als ein paar Basisbibliotheken. Hier mag Programm ok sein, treffender ist aber wohl eher Demo oder Miniprogramm. Denn was ist der Zweck des Programms? Ein statisches Beispiel durchrechnen?


   Profil
DerEinfaeltige
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.02.2015
Mitteilungen: 3175
  Beitrag No.11, eingetragen 2018-11-02

Wie oben angedeutet: Der Begriff "Makro" ist in bestimmten Nutzerprogrammen üblich, um vom Nutzer definierte Funktionen oder Prozeduren zu bezeichnen. In C/C++ bezeichnet Makro benutzerdefinierte Routinen des Präprozessors (Definition bestimmter Konstanten, Flags und Compileranweisungen; Ersetzungsroutinen in C) oder eventuell der verwendeten IDE (Scripte zur automatischen Dokumentierung, Autovervollständigung etc.). Den Begriff "Makro" hier anders zu verwenden, sorgt nur für Verwirrung. Wenn man "Programm" nicht mag, wäre "Projekt" eine unverfängliche Alternative. PS.: Wer Wikipedia zitiert, möge das doch bitte auch ordentlich tun: \quoteon Makros in der Programmierung Ein Makro in der Programmierung ist ein kleines Stück Programmcode, das von einem Interpreter oder Präprozessor durch ein größeres Stück Programmcode ersetzt wird. Damit ist es möglich, oft wiederkehrende Programmstrukturen durch Kürzel zu vereinfachen oder literale Konstanten durch semantische Bezeichnungen zu ersetzen. Programme, die Zeichenfolgen durch andere Zeichenfolgen ersetzen, werden als Makroprozessoren bezeichnet. Die Definition einer zu ersetzenden Zeichenfolge wird darin als Makro bezeichnet. Bekannte Makroprozessoren sind der C- bzw. C++-Präprozessor, das Unix-Programm m4 sowie die Textsatzprogramme troff und TeX. Im Makroassembler wird ein solcher Makroprozessor eingesetzt, um sich wiederholende Strukturen einfacher definieren zu können. ... \quoteoff Die Metadiskussion ändert allerdings nichts daran, dass vermutlich nicht nur mir völlig unklar ist, was die eigentliche Frage des Threads war.


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 528
Wohnort: Deutschland
  Beitrag No.12, eingetragen 2018-11-02

DerEinfaeltige, ich habe das Zitat überarbeitet, damit es deutlicher ist. Ich wollte keineswegs etwas aus wikipedia klauen. Scheinbar gibt es dann ja in Softwareentwicklung und Programmierung zwei unterschiedliche Definitionen. Und in C noch einmal eine extra Definition. Und bezogen zum eigentlichen Thema: Du bist nicht der einzige, der die Hauptfrage nicht versteht.


   Profil
Bekell
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.09.2008
Mitteilungen: 2885
  Beitrag No.13, vom Themenstarter, eingetragen 2018-11-02

\quoteon(2018-11-02 18:10 - Scynja in


   Profil
matph
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 20.11.2006
Mitteilungen: 5506
Wohnort: A
  Beitrag No.14, eingetragen 2018-11-02

Hallo, Du verwendest nach wie vor Begriffe widersprechend ihrer normalen Bedeutung in deinen Ausführungen, welche du nicht definierst, wie erwartest du denn, dass dich irgend jemand versteht :-( So z.B. was ist eine Kette, ein Rahmen, was verstehst du unter oben oder unten, was meinst du mit passen,... -- mfg matph


   Profil
Bekell
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.09.2008
Mitteilungen: 2885
  Beitrag No.15, vom Themenstarter, eingetragen 2018-11-02

\quoteon(2018-11-02 20:07 - matph in Beitrag No. 14) Du verwendest nach wie vor Begriffe widersprechend ihrer normalen Bedeutung in deinen Ausführungen, welche du nicht definierst, wie erwartest du denn, dass dich irgend jemand versteht :-( \quoteoff Scynja und Einfältiger haben dankenswerterweise schon oft auf meine Fragen geantwortet. Sie kennen meinen Jargon. \quoteon So z.B. was ist eine Kette, ein Rahmen, was verstehst du unter oben oder unten, was meinst du mit passen,... \quoteoff @matph Da siehst Du eine Kette, die kann man auch übereinanderlegen, wie oben im Bild. Dann kann man Zahlen draufschreiben. z. B. die Folge 2k-1, Primzahlen kann man rot machen, ZZ blau .... u.s.w. 91; 93; 95 ist eine Kette von 3 z.Z. die werden von zwei PZ, nämlich 97 und 89 eingerahmt. https://www.theoremoftheday.org/Binomial/PerfectCircle/TotDPerfectNecklace.pdf


   Profil
DerEinfaeltige
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.02.2015
Mitteilungen: 3175
  Beitrag No.16, eingetragen 2018-11-03

\quoteon(2018-11-02 20:53 - Bekell in Beitrag No. 15) // Das Macro prüft, wie oft eine UNPZ-Kette oder eine Folge von UNPZ-Ketten in einem Abschnitt plaziert werden kann, ohne das es PZ/PZ Treffer gäbe. \quoteoff Ich versuche mal zu Übersetzen/Rätselraten: UNPZ: Eine ungerade, zusammengesetzte Zahl. PZ: Eine Primzahl. Kette: Eine Folge aufeinanderfolgender, ungerader, zusammengesetzter Zahlen, die an jedem Ende von einer Primzahl begrenzt wird. bspw. {9} wäre eine Kette der Länge 1, da 7 und 11 Primzahlen sind. bspw. {25,27} wäre eine Kette der Länge 2, da 23 und 29 Primzahlen sind. Abschnitt: Ein Intervall? PZ/PZ-Treffer: Ein Primzahlzwilling?


   Profil
Bekell
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.09.2008
Mitteilungen: 2885
  Beitrag No.17, vom Themenstarter, eingetragen 2018-11-03

\quoteon(2018-11-03 10:17 - DerEinfaeltige in Beitrag No. 16) \quoteon(2018-11-02 20:53 - Bekell in Beitrag No. 15) // Das Macro prüft, wie oft eine UNPZ-Kette oder eine Folge von UNPZ-Ketten in einem Abschnitt plaziert werden kann, ohne das es PZ/PZ Treffer gäbe. \quoteoff Ich versuche mal zu Übersetzen/Rätselraten: UNPZ: Eine ungerade, zusammengesetzte Zahl. PZ: Eine Primzahl. Kette: Eine Folge aufeinanderfolgender, ungerader, zusammengesetzter Zahlen, die an jedem Ende von einer Primzahl begrenzt wird. bspw. {9} wäre eine Kette der Länge 1, da 7 und 11 Primzahlen sind. bspw. {25,27} wäre eine Kette der Länge 2, da 23 und 29 Primzahlen sind. \quoteoff Bis da ist alles richtig ... \quoteon Abschnitt: Ein Intervall? \quoteoff Hier meint Abschnitt einen Teil der unteren Kette zwischen 1 und 4999. Vllt unglücklich gewählt? \quoteon PZ/PZ-Treffer: Ein Primzahlzwilling? \quoteoff https://matheplanet.com/matheplanet/nuke/html/uploads/b/23651_blau-rot-kette.png falls rot PZ bedeutet, wären die ersten drei Stelle von links drei PZ/PZ-Treffer, falls blau PZ wäre, dann die 7 Stelle von links.


   Profil
DerEinfaeltige
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.02.2015
Mitteilungen: 3175
  Beitrag No.18, eingetragen 2018-11-03

\quoteon(2018-11-03 10:43 - Bekell in Beitrag No. 17) \quoteon Abschnitt: Ein Intervall? \quoteoff Hier meint Abschnitt einen Teil der unteren Kette zwischen 1 und 4999. Vllt unglücklich gewählt? \quoteoff Es gibt keine Kette von 1 bis 4999. 1 ist keine (ungerade) Primzahl. Zwischen 1 und 4999 liegen weitere (ungerade) Primzahlen. \quoteon(2018-11-03 10:43 - Bekell in Beitrag No. 17) \quoteon PZ/PZ-Treffer: Ein Primzahlzwilling? \quoteoff https://matheplanet.com/matheplanet/nuke/html/uploads/b/23651_blau-rot-kette.png falls rot PZ bedeutet, wären die ersten drei Stelle von links drei PZ/PZ-Treffer, falls blau PZ wäre, dann die 7 Stelle von links. \quoteoff Wie sind die PZ und UNPZ hier angeordnet? In natürlicher Reihenfolge ja offensichtlich nicht. Zum gefühlt zehnten Mal würde ich folgendes anregen: 1. Erkläre genau, was du erreichen willst. (entweder mit üblichen Begriffen oder zur Not mit genau definierten(!!) eigenen Begriffen) 2. Nimm ein kleines Beispiel. 3. Rechne dieses Schritt für Schritt von Hand vor.


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 528
Wohnort: Deutschland
  Beitrag No.19, eingetragen 2018-11-03

Den ersten Teil habe ich wie folgt verstanden: https://www.matheplanet.com/matheplanet/nuke/html/uploads/b/30857_pzkette.png (falls es richtig ist, hätte ich mir übrigens so ein Bild von dir gewünscht Bekell) Im Zweiten Schritt soll dann irgendwas verschoben werden. Vermutlich solange, bis oben und unten jeweils 17 Nichtprimzahlen übereinander liegen. Dann soll das Ergebnis - wie auch immer erweitert werden und erneut verschoben werden, bis oben und unten gleich sind.


   Profil
Bekell
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.09.2008
Mitteilungen: 2885
  Beitrag No.20, vom Themenstarter, eingetragen 2018-11-03

Du hast richtig verstanden, Scynja. Die Frage ist: Wie oft kann der von Dir markierte Abschnitt nach links verschoben werden, ohne dass die beiden rahmenden PZ auf einer PZ unten zu stehen kommen. Das ergibt ein Ergebnis! Danach hängt man die nächste uNPZ Kette an. Man hat jetzt mindestens 3 PZ in der zu verschiebenden Kette, und fragt wieder: Wie oft kann der Abschnitt nach links verschoben werden, ohne dass die nun mindestens 3, davon 2 rahmenden PZ, auf einer PZ unten zu stehen kommen. Das ergibt wieder ein Ergebnis! Dann verlängert man wieder den Abschnitt, so daß die Anzahl der PZ in der zu verschiebenden Kette ständig wächst. Die Frage ist: Wie oft kann man das machen, bis nur noch 1 Möglichkeit gefunden wird, die es ja wirklich gibt. Das Ganze ist übrigens Spielerei. Ich wollte jetzt ein Tool, indem man die Goldbach-Zahl eingibt, hier im Beispiel 10 Tsd, und es nimmt die einzelnen Abschnitt läßt ihn nach hinten wachsen, und gibt jedesmal die Positionierungsmöglichkeiten aus, bis sie bei 1 ankommt. Meines macht das, nur es ist noch Automatisierungsbedarf vorhanden.


   Profil
BerndLiefert
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 21.10.2014
Mitteilungen: 437
Wohnort: Lehramtplanet
  Beitrag No.21, eingetragen 2018-11-03

\quoteon(2018-11-02 04:40 - viertel in Beitrag No. 8) Wie die Franzosen. Denen ist z.B. der Begriff Computer zu gebräuchlich, also nennen sie das Ding ordinateur. Wem's Spaß macht… \quoteoff Das klingt wirklich unnötig. Da ich ohnehin am Rechner sitze werde ich jetzt recherchieren, ob es auch auf Deutsch einen eigenen Begriff dafür gibt.


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 528
Wohnort: Deutschland
  Beitrag No.22, eingetragen 2018-11-05

Vielleicht hilft dir das weiter Bekell: https://sigmanek.net/demos/prime-chain Wenn du möchtest kann ich dir auch noch Primzahlzwillinge oder ähnliches markieren. Dann wird es aber unübersichtlich. Größere Zahlenbereiche sind zwar möglich, fressen aber relativ viel Power am pc. Du kannst ja ausprobieren, wie of du die Kette drehen musst, damit maximal viele Primzahlen gegenüberliegen bei der Länge 1000 bzw. 10000. Oder vielleicht hilft es dir deine Beispiele zu veranschaulichen.


   Profil
Bekell
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.09.2008
Mitteilungen: 2885
  Beitrag No.23, vom Themenstarter, eingetragen 2018-11-06

Danke Skynja, wir kommen der Sache näher. Hast Du das Teil geschrieben? In welcher Sprache? Das würd ich auch gern machen... Es könnte noch die Anzahl der Treffer angeben. Und dann ein grundlegender Unterschied meiner Gedanken zu Polyas Nacklace, der in dem von Dir verlinkten Tool. Es dreht, d. h. es raupt nicht. Man kann daher die Kette damit nicht durchraupen, d. h. man erreicht nicht alle Zustände. https://www.theoremoftheday.org/Binomial/PerfectCircle/TotDPerfectNecklace.pdf Die Grundfrage ist, wenn wir jetzt mal nicht auf PZ abheben, sondern die Entfernungen zwischen den PZ als Streichhölzchen nehmen, ob man die Streichhölzchen der oberen Reihe abnehmen kann, auf einen Haufen werfen, mischen, und ob es dann möglich ist, die Hölzchen auf der unteren Reihe so anzuordnen, daß kein rot/rotes Ereignis stattfindet. Um dies zu erforschen müssen wir uns von der PZ Kette lösen, da dort überhaupt erst nach einer unpraktischen Länge von 163 000 der Zustand eintritt, daß die Anzahl der gesamten PZ kleiner der aktiven Hälfte der Gesamtkette. D.h. daß bei dieser Zahl die inaktiven, nur aufblähenden Drittel schon rausgerechnet sind. (Es war die Tripelanalyse) Und überhaupt sind bei so großen Zahlen, die bei der Berechnung von Möglichkeiten notwendigen Fakultäten auch rechentechnisch nur noch schwer zu bewältigen.


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 528
Wohnort: Deutschland
  Beitrag No.24, eingetragen 2018-11-06

Hallo Bekell, das ist in Typescript geschrieben und wurde dann in JavaScript transpiliert. Da alles nur auf einem Array basiert, kann man auch relativ einfach Teile entfernen. Was du unter Raupen verstehst ist ja nichts weiter als eine alternative Darstellung des aktuellen Zustands. Das kann man leicht erweitern, erfordert aber etwas error-handling. In c gibt es auch Grafik Bibliotheken mit denen man das Problem modellieren kann. Ich denke nicht, dass es für dich Sinn macht eine neue Sprache zu lernen. Beim Berechnen hast du später mit C eh die Nase vorne. Vielleicht kann dir jemand aus dem Forum eine Bibliothek für Visualisierungen empfehlen.


   Profil
Bekell hat die Antworten auf ihre/seine Frage gesehen.
Bekell wird per Mail über neue Antworten informiert.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2022 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]