|
Autor |
Python kleine Wunderfrage |
|
Bekell
Aktiv  Dabei seit: 05.09.2008 Mitteilungen: 2799
 | Themenstart: 2021-12-07
|
Hallo, es funktioniert...
\sourceon Python
\numberson
gflist=[]
nr=0
gf=1 # grösster faktor
for x in primerange(1,15015):
for g in range(1,120,1):
if isprime(x+(g*4)):
nr+=1
if g > gf:
gf=g
if g not in gflist:
gflist.append(g)
gflist.append(x)
print(nr,".",x,"f:",g*4,"--------1. PZ",x+(g*4)," ",g," ",gf)
break
print(gflist)
\sourceoff
Aber warum sind beim Ausdruck immer Aussetzer: z.B Nr. 191, 364, 690 etc? Versteh ich nicht...
|
Profil
|
Nuramon
Senior  Dabei seit: 23.01.2008 Mitteilungen: 3545
 | Beitrag No.1, eingetragen 2021-12-25
|
Hallo,
ich wundere mich:
- Was soll Dein wundersames Programm tun?
- Was genau findest Du an der Ausgabe wundersam?
Einige auf dem MP haben sich bestimmt schon die Finger wund geschrieben, weil sie Dir in fast jedem deiner Posts die erste Frage stellen müssen.
Ein echtes Weihnachtswunder wäre es, wenn Dein Code ausführbar wäre (die fehlenden Importe von primerange und isprime sind hier die wunden Punkte).
|
Profil
|
Bekell
Aktiv  Dabei seit: 05.09.2008 Mitteilungen: 2799
 | Beitrag No.2, vom Themenstarter, eingetragen 2021-12-25
|
\quoteon(2021-12-25 01:28 - Nuramon in Beitrag No. 1)
Einige auf dem MP haben sich bestimmt schon die Finger wund geschrieben, weil sie Dir in fast jedem deiner Posts die erste Frage stellen müssen.
\quoteoff
Frohe Weihnachten, Nuramon
Selbst hatte das Programm im Anaconda-Laptop geschrieben, da macht Selbst solche kleinen Programme, und da ist es so, was man im Vorprogramm (Kann was ganz anderes sein) schon an Bibliotheken eingebunden hat, läuft auch im nächsten Programm noch. Deshalb fehlen hier die Import-Befehle, denkt Selbst, denn wenn schreibt, dass es laufe, läuft es auch... mir ging es nur um die merkwürdigen Absätze im Print.
|
Profil
|
Nuramon
Senior  Dabei seit: 23.01.2008 Mitteilungen: 3545
 | Beitrag No.3, eingetragen 2021-12-25
|
Auch Dir frohe Weihnachten, Bekell.
Wenn Du nicht sagst, was das Programm tun soll und nicht genauer beschreibst, was Du mit "merkwürdigen Absätzen" meinst, wie soll man Dir dann weiterhelfen?
|
Profil
|
Red_
Aktiv  Dabei seit: 28.09.2016 Mitteilungen: 999
 | Beitrag No.4, eingetragen 2021-12-25
|
@Bekell: Geht das irgendwie schneller? Also der Code funktioniert auf jeden Fall.
\sourceon Python
start = time.time()
x = [1, 2, 5, 10, 20, 50, 100, 200]
x.sort(reverse=True)
@lru_cache(maxsize=None)
def f(coin, m):
if coin == 0:
return []
maxcoin = 0
for i in x:
if i <= coin and i <= m:
maxcoin = i
break
if maxcoin == 0:
return []
if maxcoin == coin:
z = [[maxcoin]]
else:
try:
z = list(map(lambda x: [maxcoin] + x, f(coin - maxcoin, m)))
except:
z = []
if maxcoin == 1:
return z
return z + f(coin, maxcoin - 1)
print(len(f(200, 200)))
print(time.time() - start, "seconds")
\sourceoff
|
Profil
|
Bekell
Aktiv  Dabei seit: 05.09.2008 Mitteilungen: 2799
 | Beitrag No.5, vom Themenstarter, eingetragen 2021-12-26
|
\quoteon(2021-12-25 21:12 - Nuramon in Beitrag No. 3)
Auch Dir frohe Weihnachten, Bekell.
Wenn Du nicht sagst, was das Programm tun soll und nicht genauer beschreibst, was Du mit "merkwürdigen Absätzen" meinst, wie soll man Dir dann weiterhelfen?
\quoteoff
Ja, Du hast recht Nuramon,
Das Programm testet die Primzahlen x=4n+1 durch bis 15015 (Tschebycheffs Bias). Und er registriert die Abstände zur vorherigen PZ der gleichen Sorte (4n+1) und wenn eine neuer Abstand (Differenz) auftaucht, registriert er dessen Vorkommen und gibt diesen in einer Liste am Ende aus.
Und dann gibt es im Listing unerklärte Prints(), z. b. zwischen 149 und 150
Wie kommen die zustande? Nimm bitte dies:
\sourceon Python
import math
import numpy
from sympy.ntheory import *
gflist=[]
xlist=[]
nr=0
gf=1 # grösster faktor
for x in primerange(1,15015):
for g in range(1,120,1):
if isprime(x+(g*4)) and (x+1)%4==0:
nr+=1
if g > gf:
gf=g
if g not in gflist:
gflist.append(g)
xlist.append(x)
print(nr,".",x,"--------1. PZ",x+(g*4)," gf",gf," Dist:",g*4,"=",g,"*4 ---nonquadralePZ",primepi(x+(g*4))-(primepi(x)+1))
break
print(nr,gflist)
print(nr,xlist)
\numberson
\sourceoff
|
Profil
|
gonz
Senior  Dabei seit: 16.02.2013 Mitteilungen: 4135
Wohnort: Harz
 | Beitrag No.6, eingetragen 2021-12-26
|
Hallo Bekell,
vielleicht solltest du die verbale Beschreibung dessen, was den Programm tun soll, etwas genauer formulieren und dann mal "neben dein Programm" legen und schauen, ob da wirklich das gleiche gemacht wird :)
Grüße, frohe Weihnachten und schöne Tage,
Gerhard / Gonz
|
Profil
|
Bekell
Aktiv  Dabei seit: 05.09.2008 Mitteilungen: 2799
 | Beitrag No.7, vom Themenstarter, eingetragen 2021-12-26
|
\quoteon(2021-12-26 12:14 - gonz in Beitrag No. 6)
Hallo Bekell,
vielleicht solltest du die verbale Beschreibung dessen, was den Programm tun soll, etwas genauer formulieren und dann mal "neben dein Programm" legen und schauen, ob da wirklich das gleiche gemacht wird :)
Grüße, frohe Weihnachten und schöne Tage,
Gerhard / Gonz
\quoteoff
OK, Gonz, er geht 4n-1 durch, daher 3, 7, 11, 19, .... aber das erklärt nicht die monierten Fehlzeilen.
|
Profil
|
Nuramon
Senior  Dabei seit: 23.01.2008 Mitteilungen: 3545
 | Beitrag No.8, eingetragen 2021-12-26
|
Ich sehe folgende Ausgabe (Auszug):
147 . 1867 --------1. PZ 1871 gf 10 Dist: 4 = 1 *4 ---nonquadralePZ 0
148 . 1871 --------1. PZ 1879 gf 10 Dist: 8 = 2 *4 ---nonquadralePZ 2
149 . 1879 --------1. PZ 1907 gf 10 Dist: 28 = 7 *4 ---nonquadralePZ 2
150 . 1907 --------1. PZ 1931 gf 10 Dist: 24 = 6 *4 ---nonquadralePZ 1
151 . 1931 --------1. PZ 1951 gf 10 Dist: 20 = 5 *4 ---nonquadralePZ 2
152 . 1951 --------1. PZ 1979 gf 10 Dist: 28 = 7 *4 ---nonquadralePZ 1
153 . 1979 --------1. PZ 1987 gf 10 Dist: 8 = 2 *4 ---nonquadralePZ 0
Was meinst Du mit Fehlzeile?
|
Profil
|
Bekell
Aktiv  Dabei seit: 05.09.2008 Mitteilungen: 2799
 | Beitrag No.9, vom Themenstarter, eingetragen 2021-12-26
|
Ich mein das:
https://matheplanet.com/matheplanet/nuke/html/uploads/b/23651_Aussetzer1.png
Da ist immer mal eine leere Zeile im Listing.... ich find nicht die Stelle, wo das am Programm liegen soll... vllt hat das was damit zu tun, dass irgend ein Speicher voll ist...
|
Profil
|
Nuramon
Senior  Dabei seit: 23.01.2008 Mitteilungen: 3545
 | Beitrag No.10, eingetragen 2021-12-26
|
Ich kann das nicht reproduzieren. Bei mir sind keine Leerzeilen in der Ausgabe.
Wie führst Du das Programm aus?
|
Profil
|
Bekell
Aktiv  Dabei seit: 05.09.2008 Mitteilungen: 2799
 | Beitrag No.11, vom Themenstarter, eingetragen 2021-12-26
|
Im Python Anaconda Notebook.... es sind noch mehr Leerzeilen, der nächste bei 263 dann 379, dann 494, dann 610
|
Profil
|
Bekell
Aktiv  Dabei seit: 05.09.2008 Mitteilungen: 2799
 | Beitrag No.12, vom Themenstarter, eingetragen 2021-12-26
|
\quoteon( - im Themenstart)
\quoteoff
\quoteon
if isprime(x+(g*4)) and (x+1)%4==0:
\quoteoff
Im Effekt macht er es aber.... Wenn x plus ein Vielfaches von 4 prim ist, - x ist prim, weil aus primerange entnommen - und es gehört zur Menge x=4n-1, weil Selbst ja als Bedingung (x+1)%4==0 hat.
|
Profil
|
Bekell
Aktiv  Dabei seit: 05.09.2008 Mitteilungen: 2799
 | Beitrag No.13, vom Themenstarter, eingetragen 2021-12-26
|
@Nuramon
ich hab einen Hinweis, die Abstände zwischen den ominösen Leerzeilen sind:
https://matheplanet.com/matheplanet/nuke/html/uploads/b/23651_Abstandtabelle.png
Und die nächste ist schon 840 (+115), nicht 841 (+116), wie es die Tabelle suggerieren würde....
ergo hat es was mit dieser Programmzeile zu tun:
for g in range(1,120,1):
bloss was?
|
Profil
|
Nuramon
Senior  Dabei seit: 23.01.2008 Mitteilungen: 3545
 | Beitrag No.14, eingetragen 2021-12-26
|
In einem Jupyter Notebook sehe ich die Leerzeilen jetzt auch. Keine Ahnung, woher die kommen. Aber es scheint mit der Größe des Fensters mit dem Notebook zusammenzuhängen: Wenn ich das Fenster eher klein mache, dann sind die Leerzeilen auf einmal an anderen Stellen als wenn ich das Fenster maximiere. (Wohlgemerkt ändern sich die Leerzeilen erst dann, wenn ich das Programm nochmal ausführe.)
[Die Antwort wurde nach Beitrag No.12 begonnen.]
Von Deinem Code allein kommen die Leerzeilen nicht, das liegt schon irgendwie an Jupyter.
|
Profil
|
Bekell hat die Antworten auf ihre/seine Frage gesehen. | Bekell wird per Mail über neue Antworten informiert. |
|
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]
|