factorielle

Les derniers trucs auxquels vous avez joué, les derniers ordinateurs que vous avez bidouillés.

Modérateur : Politburo

Avatar de l’utilisateur
Ben
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 950
Inscription : 21 août 2016 19:04

Re: factorielle

Message par Ben » 22 févr. 2017 21:17

J'ai retravaillé un peu le programme, je me rapproche de C.Ret, mais j'en suis encore loin. Le programme calcule 733! en environ 30 min. C'est tout de même deux fois plus vite que le précédent.

Code : Tout sélectionner

10 FAST:SCNCLR
20 PRINT "CALCUL DE LA FACTORIELLE"
30 PRINT "------------------------"
40 DIM FA(500)
50 INPUT "NB=";NB
60 FA(1)=1:B%=1:T=TI
70 FOR I=1 TO NB:FOR J=1 TO B%:RL=FA(J)*I+RT:RT=INT(RL/1000000):FA(J)=RL-1
000000*RT:NEXT J:IF RT<>0 THEN B%=B%+1:FA(B%)=RT:RT=0
80 NEXT I
155 T=(TI-T)/60
160 PRINT:PRINT "FACTORIELLE DE";NB;"="
165 PRINT FA(B%);
166 P%=1
190 FOR I=B%-1 TO 1 STEP -1
200 WN$=STR$(FA(I)):GOSUB 300:PRINT WN$;" ";
205 P%=P%+1:IF P%>9 THEN PRINT:P%=0
210 NEXT I
220 PRINT:PRINT "calcul en ";t; "sec";t/60;"min"
230 print "nbr tableau=";b%
240 print "nbr chiffre=";(b%-1)*6+len(str$(fa(b%)))-1
250 end
300 wn$=right$(wn$,len(wn$)-1)
310 if len(wn$)=6 then 399
320 for j=1 to 6-len(wn$)
330 wn$="0"+wn$
340 next j
399 return
1000 print i,b,rt;
1001 for w=1 to b:print fa(w);:next w:print:getkey a$
1010 return

Avatar de l’utilisateur
Ben
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 950
Inscription : 21 août 2016 19:04

Re: factorielle

Message par Ben » 26 févr. 2017 22:08

J'ai ressorti l'émulateur ZX-81 (je n'ai pas la machine). Elle arrive aussi à calculer la factorielle :-)

J'ai retrouvé les sensations de l'époque :-)

Avatar de l’utilisateur
Ben
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 950
Inscription : 21 août 2016 19:04

Re: factorielle

Message par Ben » 05 mars 2017 22:20

Evidemment, mon nouveau petit PC1246 n'y a pas échappé. Vu la mémoire un peu limite, on peut calculer jusqu'à 383. Il met un peu moins de 30 min

Répondre

Revenir vers « A quoi t'as joué hier ? »