e auf 1000 Stellen berechnen
Verfasst: Freitag 21. Mai 2010, 21:20
Hallo,
ich bin wirklich verzweifelt und ein absoluter Programmierlaie. Ich muss für einen Vortrag die Zahl e auf 1000 Stellen berechnen. Ich weiß, dass es hierzu schon ein Thema gab und auch eine Lösung http://www.python-forum.de/viewtopic.ph ... hl#p138542
Aber ich brauch für den Vortrag ein schlüssiges Programm, in dem man den Prozess sehen kann.
Ich habe bereits ein Programm von Basic, wo man den Anfang auf Python übertragen kann, aber den Rest kann ich nicht korrekt übersetzen:
Das ist ja relativ klar, da ich hier nur den Grenzwert von e nutze. Mein Problem ist, dass Python ja nun nicht nur 12 Stellen oder so rausgeben soll, sondern 1000. Im Basic sieht es folgendermaßen aus:
Nun habe ich mich im Übersetzen versucht und es total vermasselt:
Bitte helft mir! Wie kann ich mein Programm umschreiben, damit ich meine gewünschten 1000 Stellen bekomme. Oder gibt es noch einen besseren Weg? Vielen Dank schonmal im Voraus.
Lg lenzlein
ich bin wirklich verzweifelt und ein absoluter Programmierlaie. Ich muss für einen Vortrag die Zahl e auf 1000 Stellen berechnen. Ich weiß, dass es hierzu schon ein Thema gab und auch eine Lösung http://www.python-forum.de/viewtopic.ph ... hl#p138542
Aber ich brauch für den Vortrag ein schlüssiges Programm, in dem man den Prozess sehen kann.
Ich habe bereits ein Programm von Basic, wo man den Anfang auf Python übertragen kann, aber den Rest kann ich nicht korrekt übersetzen:
Code: Alles auswählen
n=input('n=')
e=1.0
while n>0:
e=1+(e/n)
n=n-1
print e
Code: Alles auswählen
DIM X (52)
FOR I=0 TO 52 X(I)=0
B=1E+5; X(0)=1
FOR N=144 TO 1 STEP -1
FOR N=144 TO 1 STEP -1
Q=INT(X(I)/N); R=X(I)-Q*N
X(I)=Q; X(I+1)=X(I+1)*B*R
NEXT I
X(0)=X(0)+1
NEXT N
X(50)=X(50)+INT(X(51)/B+0.5)
FOR I=50 TO 1 STEP -1
U=INT(X(I)/B); X(I)=X(I)-B*U; X(I-1)=X(I-1)+U
NEXT I
FOR I=0 TO 50 PRINT X(I);
END
Code: Alles auswählen
x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
for i in range(0,52,1):
x[i]=0
b=1E+5
x[0]=1
for n in range(144,1,-1):
for i in range(0,51,1):
q=int(x[i]/n)
r=x[i]-q*n
x[i]=q
x[i+1]=x[i+1]+b*r
x[0]=x[0]+1
x[50]=x[50]+int(x[51]/b+0,5)
for i in range(50,0,-1):
u=int(x[i]/b)
x[i]=x[i]-b*u
x[i-1]=x[i-1]+u
print x[i]
Lg lenzlein