Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Bildungsvorschrift » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Bildungsvorschrift
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
blindmessenger
Mitglied


Dabei seit: 09.04.2016
Beiträge: 37

Bildungsvorschrift Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,
hat jemand eine Idee wie man diese Bildungsvorschrift programmiert?

https://oeis.org/search?q=1%2C2%2C4%2C3%...glish&go=Search

Unten steht zwar ein Programm... Ich krieg es nicht zum laufen...

Vielleicht in C Sharp?

__________________
Gruß blindmessenger
11.05.2016 22:22 blindmessenger ist offline Beiträge von blindmessenger suchen Nehmen Sie blindmessenger in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nachdem schon ein pari Programm angeboten ist, würde ich das auch gleich nehmen (pari ist im Gegensatz zu Maple und Mathematica kostenlos, python und Haskell gibt es aber auch umsonst).
Pari kann noch eine Menge mehr: schnelles Rechnen mit großen Zahlen, numerisches Lösen von Gleichungen, Faktorisieren von Zahlen und Termen, ...

1. Hole die Pari (Linux: apt-get install pari-gp, Windows: http://pari.math.u-bordeaux.fr/download.html.
2. Starte Pari
3. Kopiere a(n)=if(n<0, 0, znorder(Mod(2, 2*n+1))) nach Pari und bestätige mit Enter
4. Mit a(13) kannst du z.B. den 13. Wert berechnen
Die ersten 10 Werte kriegst du mit for(i=0,10,printf("a(%2d)=%2d\n",i,a(i)))

Ich wollte gerade lieb sein und dir noch den Python Code nach C# übersetzen, aber der produziert nur Endlosschleifen.

__________________
Syntax Highlighting fürs Board (Link)
12.05.2016 06:48 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
blindmessenger
Mitglied


Dabei seit: 09.04.2016
Beiträge: 37

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Herr Euler,
ich danke Dir... Das hilft mir sehr weiter...

__________________
Gruß blindmessenger
12.05.2016 09:53 blindmessenger ist offline Beiträge von blindmessenger suchen Nehmen Sie blindmessenger in Ihre Freundesliste auf
blindmessenger
Mitglied


Dabei seit: 09.04.2016
Beiträge: 37

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,
nochmal eine Frage vom Laien... Was mir aufgefallen ist bei Pari und auch bei C Sharp...

Wenn ich über eine gewisse Anzahl von Startwerten komme gibt er mir nicht mehr alle Werte aus... Es scheint so dass er zwar alle durchrechnet aber in der Konsole werden nur die letzten angezeigt.

Bei diesem Code zum Beispiel wenn ich for(i=0,10000,printf("a(%2d)=%2d\n",i,a(i))) rechnen lasse, dann zeigt er nur die Werte für die Startwerte von 99702-10000 an...

Woran liegt das und kann ich auch alle anzeigen lassen?

__________________
Gruß blindmessenger
12.05.2016 13:16 blindmessenger ist offline Beiträge von blindmessenger suchen Nehmen Sie blindmessenger in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Die Werte werden schon ausgegeben. Aber die Konsole speichert nur die letzten Zeilen.
Du kannst aber auch in eine Datei schreiben.
Bei Konsolenanwendungen (wie denen, die du mit C# erstellst): Rufe das Programm mit program.exe > output.txt auf. Dann wird die Ausgabe in eine Datei umgeleitet. Alternativ kannst du mit C# natürlich auch direkt in eine Datei schreiben.
Pari kennt den Befehl write. Schreibe ?write, um die Beschreibung zu sehen.

__________________
Syntax Highlighting fürs Board (Link)
12.05.2016 21:40 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
blindmessenger
Mitglied


Dabei seit: 09.04.2016
Beiträge: 37

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

hat jemand eine Ahnung wie man zu dieser Bildungsvorschrift die Laufzeit berechnet:

a(n)=if(n<0, 0, znorder(Mod(2, 2*n+1)))

Ich verstehe die Funktion als solche schon nicht... Da sind meinen zahlentheoretischen Kenntnisse zu gering...

__________________
Gruß blindmessenger
17.05.2016 11:07 blindmessenger ist offline Beiträge von blindmessenger suchen Nehmen Sie blindmessenger in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich habe den Python Code noch zum Laufen gebracht.
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
def A002326(n): # entspricht (PARI) for(i=0, 200, i++; m=0; for(x=1, i, if(((2^x-1))%i==0, m=x; break)); 
	m = 0
	for x in range(1, 2*n+1):
		if (2^x-1) % (2*n+1) == 0:
			return x
	return m

def A002326_(n):
    n = n
    a=1
    m=0
    while True:
        a*=2
        a%=(2*n+1)
        m+=1
        if a==1: break
    return m

for i in range(1,10): print A002326_(i)


letztendlich heißt das: es wird die kleinste Zahl x gesucht, sodass [latex]2^x-1 \equiv 0 \,\mod2\cdot n+1[/latex]

__________________
Syntax Highlighting fürs Board (Link)
17.05.2016 12:05 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
blindmessenger
Mitglied


Dabei seit: 09.04.2016
Beiträge: 37

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wenn die kleinste Zahl x gesucht wird, wird dann der Reihe nach von 1 an abgefragt?

__________________
Gruß blindmessenger

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von blindmessenger: 18.05.2016 19:33.

17.05.2016 14:20 blindmessenger ist offline Beiträge von blindmessenger suchen Nehmen Sie blindmessenger in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Bildungsvorschrift