3342 résultats trouvés

par C.Ret
02 nov. 2013 23:26
Forum : Tous les Pockets
Sujet : Petite énigme numérique
Réponses : 46
Vues : 17986

Re: Petite énigme numérique

Je ne suis pas sûr d'avoir bien compris, car je ne suis pas d'accord avec le contenu de cette liste.

Par exemple, il manque 13, or 13 est bien un facteur premier de 999999 et 1/13 possède bien une répétition de ses décimales de longueur 6 !?!

999999 = 3.3.3.7.11.13.37
et
1/13 = 0.076923 076923 076923 ...

Alors pourquoi 13 n'apparait pas dans cette liste A007138 - OEIS ?

Comprend toujours pas bien !

Code : Tout sélectionner

 n ! Factorisation                !   Inverses
---+------------------------------+-------------------------------------
 1 ! 9 = 3.3                      !  1/3  = 0.3 3 3 3 3 3 3 3 3 3...
---+------------------------------+-------------------------------------
 2 ! 99 = 3.3.11                  ! 1/3   = 0.33 33 33 33 33 33 33...
   !                              ! 1/11  = 0.09 09 09 09 09 09 09...
---+------------------------------+-------------------------------------
 3 ! 999 = 3.3.3.37               ! 1/3   = 0.333 333 333 333 333...
   !                              ! 1/37  = 0.027 027 027 027 027...
---+------------------------------+-------------------------------------
 4 ! 9999 = 3.3.11.101            ! 1/3   = 0.3333 3333 3333 3333...
   !                              ! 1/11  = 0.0909 0909 0909 0909...
   !                              ! 1/101 = 0.0099 0099 0099 0099...
---+------------------------------+-------------------------------------
 5 ! 99999 = 3.3.41.271           ! 1/3   = 0.33333 33333 33333 33333...
   !                              ! 1/41  = 0.02439 02439 02439 02439...
   !                              ! 1/271 = 0.00369 00369 00369 00369...
---+------------------------------+-------------------------------------
 6 ! 999999 = 3.3.3.7.11.13.37    ! 1/3   = 0.333333 333333 333333...
   !                              ! 1/7   = 0.142857 142857 142857...
   !                              ! 1/11  = 0.090909 090909 090909...
   !                              ! 1/13  = 0.076923 076923 076923...
   !                              ! 1/37  = 0.027027 027027 027027...
---+------------------------------+-------------------------------------
 7 ! 9999999 = 3.3.239.4649       : 1/3   = 0.3333333 3333333 3333333...
   !                              ! 1/239 = 0.0041841 0041841 0041841...
   !                              ! 1/4649= 0.0002151 0002151 0002151...
---+------------------------------+-------------------------------------
 8 ! Etc.

par C.Ret
02 nov. 2013 21:52
Forum : Tous les Pockets
Sujet : Petite énigme numérique
Réponses : 46
Vues : 17986

Re: Petite énigme numérique

Pas de problème, ils sont encore à l'écran :

Ce serait donc, dans l'ordre d'apparition:

Code : Tout sélectionner

 3  11  37  101  41  271  7  13  239  4649 73  137  333667  9091  21649  513239  9901  53  79  265371653 909091 31 17 2071723 19 ...
J'y comprends rien. :x
Pourquoi j'ai en plus 271 13 4649 137 513239 79 ... etc ... ???
par C.Ret
02 nov. 2013 20:00
Forum : Tous les Pockets
Sujet : Petite énigme numérique
Réponses : 46
Vues : 17986

Re: Petite énigme numérique

J'ai lancé en début d'après-midi une version sur Commodore C128D avec des nombres entiers pouvatn aller jusqu'à 255 chiffres (en fait une chaine alaphanumérique !)

Bon, d'accord un vieux 8bits de 1984 cadensé à 4 MHz c'est pas le plus pratique pour ce genre d'algo...
... je fais avec me matériel que j'ai sous la main !!


En tout cas cela semble aller bien, j'ai les termes suivant en moins d'une minute :
3 11 37 101 41 7 239 73 333667 271
Puis la suite dans la demi-heure suivante :
21649 13 53 4649 31 17
Mais mon pauvre vieux Commodore trime depuis maintenant 8h pour découvrir le 17ième terme...
uwy8.jpg
uwy8.jpg (11.41 Kio) Vu 1680 fois
En tout cas, il ne chauffe pas, j'ai éteint l'écran pour ne pas le marquer (laisser aussi longtemp un affichage fixe pourrait abimer le revêtement du tube CRT !)

Si c'est pas malheureux de martiriser une telle antiquitée !!!

P.S.: Le 17ième terme est bien 2071723 et le 18ième est 19
99999999999999999 = 3.3.( 2071723 ).5363222357
999999999999999999 = 3.3.3.3.11.37.7.333667.13.( 19 ).52579

Mon Commodore recherche maintenant le 20ième terme.
Il devrait le trouver dans environ 38615 h (c'est à dire dans environ 4.5 ans)
Le temps nécessaire pour qu'il se rende compte que 11111111111111111111 est premier.

Si c'est pas malheureux !

Bon, je suis à la recherche d'un nouvel algorithme...
par C.Ret
02 nov. 2013 08:56
Forum : Tous les Pockets
Sujet : Petite énigme numérique
Réponses : 46
Vues : 17986

Re: Petite énigme numérique

AH! le PASCAL que de souvenirs.

Joli programme qui en plus affiche le temps de calcul de chaque terme !! La classe.


Pour le RPL, je n'ai pas mon HP-28S avec moi. Mais je suis dessus, l'idée est d'utiliser les entiers binaires/hexa pour disposer d'un maximum de capacité 'entier long' !

Mais j'hésite, je crois que le RPL d'une HP-50g devrait pouvoir faire tout cela en 'multiprécision' sans avoir à "ruser" ou "gruger" !
par C.Ret
01 nov. 2013 11:27
Forum : Tous les Pockets
Sujet : Petite énigme numérique
Réponses : 46
Vues : 17986

Re: Petite énigme numérique

Bon, je profite d'un peu de temps ce long week-end pour participer modestement.

L'algorithme prposé me semble suffisament bon pour être exploité.
Voici ma "transcription" en mettent en évidence les diffèrentes parties et surtout les variables longues (marquées d'un suffixe #)

Code : Tout sélectionner

   REM LA SUITE DE GEGE AVEC L'ALGO DE BERNOUILLI92
   REM MIS EN BASIC PAR BABA PUIS REVU PAR C.RET

   DEFDBL Z#,X#,Q#
   DEFLNG P,K
   DEFINT N,I,S

   DIM G(20)
   X#=3

   FOR N=1 TO 20

      REM Mémorization et affichage du N-ième terme de la suite de Gégé

      G(N)=X#
      PRINT X#

      REM  Générer le terme suivant 

      Z#=10^(N+1)-1
      X#=Z#      
  
      REM  Eventuellement simplifier Z# par membre précèdent de la suite

      FOR I=1 TO N
          Q#=X#/G(N):IF INT(Q#)=Q# THEN X#=Q#:I=I-1
      NEXT I

      REM  Décomposition en facteurs premiers

      P=7:K=1:S=1
      DO UNTIL P*P>X#
         Q#=X#/P:IF INT(Q#)=Q# THEN X#=P:EXIT
         S=-S:IF S=-1 LET K=K+1
         P=6*K+S
      LOOP    

     REM à ce point du programme X# contient le terme suivant de la suite de Gégé

   NEXT N

Bon, voyons ce que cela donne sur une TI-74 BASICAL (machine à ma disposition ayant les plus grands/longs registres !)

Code : Tout sélectionner

10 X=3:DIM G(13)
20 FOR N=1 TO 13:G(N)=X:PRINT STR$(X);" ";:Z=10*10^N-1:X=Z
30 FOR I=1 TO N:Q=X/G(I):IF INT(Q)=Q THEN X=Q:I=I-1
40 NEXT I:P=7:K=1:S=1
50 IF P*P>X THEN X=P
60 Q=X/P:IF Q-INT(Q)>0 THEN S=-S:K=K-(S<0):P=6*K+S:GOTO 50
70 NEXT N:PRINT X:PAUSE
Contracté façon M.P.O.

Ce qui donne comme suite

Code : Tout sélectionner

 3 11 37 101 41 7 239 73 333667 271 21649 13 53 431? 
Bon ben j'obtiens que les 13 premiers termes ce qui est fort logique vu la précision interne du TI-74

Malheureusement il est difficile de doubler la précision
par C.Ret
29 sept. 2013 22:21
Forum : Tous les Pockets
Sujet : Re: Misez p'tit, optimisez ! n° 46 : Jusqu'à la racine
Réponses : 26
Vues : 15283

Re: Misez p'tit, optimisez ! n° 46 : Jusqu'à la racine

bernouilli92 a écrit :
babaorhum a écrit : ...
j'ai convergé en 3 coups ... (pas trop dur avec 153 ... mais avec des chiffres plus grands faut réfléchir un peu plus ...)

un pt'it jeu bète quoi ... et qui répond en plus au MPO n°46 !!!
Et si on commence par int(exp(ln(X)/2)) ;-) (int=partie entière)

C'est une bonne idée, mais il me semble avoir intedit l'usage des fonctions logarithme et exponentielle...
... tout au moins pour ce MPO.

Parceque sinon je n'airien contre le calcul d'une racine carrée à l'aide des log et exp !!
par C.Ret
10 sept. 2013 18:22
Forum : Tous les Pockets
Sujet : Misez p'tit, optimisez ! n°47 : résolution de système...
Réponses : 21
Vues : 10930

Re: Misez p'tit, optimisez ! n°47 : résolution de système...

Merci Marge pour ces félicitations.

Il est vrai que hier soir, il était tard quand j'ai écrit ces quelques explications et que je n'ai pas beaucoup expliqué comment était utilisé la mémoire du SHARP PC-1211.

La commande MEM donne la mémoire "libre" du pocket de deux façons:
- le nombre d'octets restant disponible pour la programmation BASIC (se sont les STEPs - chaque instruction en fait un )
- l'équivalent en nombre de mémoires (registres) disponibles en plus des 26 variables fixe (de A à Z). En effet, les octets non utilisés par le programme son disponibles pour les variables numériques.

Vide, la mémoire programme fait 1424 octets et 178 mémoire au-delà des 26 variables fixes (donc 204 registres).

Mon code BASIC fait donc 242 octets (1424-1182 octets).
Il reste au-delà du programme 147 mémoires (registres numériques) comptées au-delà de Z. L'indice le plus élevé du registre mémoire est donc A(173)

Les mémoires A à H sont utilisées par mon code (respectivement compteur ligne, colonne, pivot, etc...)
De A(9) à A(173), il y a donc 165 registres disponibles pour mémoriser les équations.

Les coefficients des équations et les valeurs numériques sont mémorisés à partir de la variable A(9) (c'est à dire I)

Le système à 3 équations utilise 12 variables; donc de A(9) à A(21)

On peux donc au plus traiter douze équations (qui utiliseront 12 x 13 = 156 registres de A(9) à A(165).
On ne peux pas mémoriser les coefficients et valeurs de 13 équations car il faudrait 182 registres.

Donc, c'est bien cela mon code de peux traiter au plus 12 équations.
Mais je ne garantis pas que mon SHARP acquis en 1981 puisse résoudre un tel système dans la journée !


Par contre, il va falloir faire attention au bilan des octets :
242 octets pour le code BASIC (le listing)
64 octets pour les variables du programme (chaque registres mémoire fait 8 octets).
Auxquels il faut ajouter N*(N+1) registres mémoire pour mémoriser les coefficients et valeurs des N équations.
Ce qui fait 8*N*(N+1) octets.

Ainsi, un système à 3 équations nécessite en réalité 242+64+8*12 = 402 octets et un système à 12 équations 242+64+8*156 = 1554 octets (soit 91.6% des ressources du SHARP PC-1211).
par C.Ret
09 sept. 2013 23:41
Forum : Tous les Pockets
Sujet : Misez p'tit, optimisez ! n°47 : résolution de système...
Réponses : 21
Vues : 10930

Re: Misez p'tit, optimisez ! n°47 : résolution de système...

Bon d'accord pour une HP-15c, mais sans les matrices hein ! Sinon c'est de la gruge.

Voici une version pour SHARP PC-1211 qui peut traiter (si on lui laisse le temps hein !) jusqu'à N>=12 !

Code : Tout sélectionner

///////  Initialisation et saisie du système d'équations  
1 INPUT "ORDER ";D
2 E=9:FOR A=1 TO D:PAUSE "EQ.";A:FOR B=0 TO D:IF B=D PAUSE "="
3 INPUT A(E):E=E+1:NEXT B:NEXT A
/////// Traitement par le pivot de Gauss (sans optimisation des calculs ou des cas difficiles
5 F=9:FOR C=0 TO D-1:G=A(F+C):E=9:FOR A=1 TO D:IF E=F FOR B=C TO D:A(F+B)=A(F+B)/G:GOTO 7
6 H=A(E+C)/A(F+C):FOR B=C TO D:A(E+B)=A(E+B)-HA(F+B)
7 NEXT B:E=1+E+D:NEXT A:F=1+F+D:NEXT C
/////// Impression de la solution
9 B=1+D:FOR A=1 TO D:PRINT A,A(8+AB):NEXT A:END
MEM indique 1182 STEPS 147 MEMORIES
Le programme fait donc 242 octets et peut traiter jusqu'à au moins 12 équations

Code : Tout sélectionner

       A     :ligne            B:colone           C:position pivot         D:dimension du système
       E     :pointeur vers coefficient           F:pointeur vers pivot
       G     :valeur du pivot avant normalisation
       H     :valeur multiplicative de la ligne
A(9) à A(173):mémorisation des coefficients et valeurs des équations.
Exemple de saisie :

Code : Tout sélectionner

========= DISPLAY =======|=========  INPUT =========|======== NOTE ==========
>                        | RUN_ [ENTER]             |
ORDER ?                  | 3_ [ENTER]               |   3 equations
EQ.1.                    |                          |
?                        | 2 [ENTER]                |   (a11)
?                        | -2 [ENTER]               |   (a12)
?                        | 3 [ENTER]                |   (a13)
=                        |                          |
?                        | 2 [ENTER]                |   (b1)
EQ.2.                    |                          |
?                        | 5 [ENTER]                |   (a21)
?                        | 2 [ENTER]                |   (a22)
?                        | -3 [ENTER]               |   (a23)
=                        |                          |
?                        | 9 [ENTER]                |   (b2)
EQ.3.                    |                          |
?                        | 1 [ENTER]                |   (a31)
?                        | 5 [ENTER]                |   (a32)
?                        | -3 [ENTER]               |   (a33)
=                        |                          |
?                        | -12 [ENTER]              |   (b3)
... Moins de deux minutes ...
         1.  1.57142857  | [ENTER]                  |   x1= 1.57142857 
         2. -4.904761905 | [ENTER]                  |   x2=-4.90476190 
         3. -3.650793651 | [ENTER]                  |   x3=-3.65079365 
>                        |                          |
P.S.: Le programme P4-A-1 du manuel du SHARP propose un programme de 704 octets capable de résoudre des systèmes limité à 7 équation. Et il met cinq fois plus de temps pour résoudre le système pris en exemple !!
par C.Ret
09 sept. 2013 17:58
Forum : Tous les Pockets
Sujet : Misez p'tit, optimisez ! n°47 : résolution de système...
Réponses : 21
Vues : 10930

Re: Misez p'tit, optimisez ! n°47 : résolution de système...

Je propose le programme suivant pour HP-28S:

Code : Tout sélectionner

« / »

On entre les valeurs de chaque équation dans un vecteur (ou une matrice colone) notée B au niveau 2:
Puis les coefficients des N équations dans une matirce noté A au niveau 1:
Et on presse sur la touche /

Avec une HP-28S vierge, on peut facilement traiter des équations avec N supérieur à une ou deux centaines (N>200)

Mais aussi simultanément déterminer les solutions du système à N équation avec plusieurs; B est alors une matrice avec plusieurs colones au lieu d'un vecteur (c'est à dire une matrice colone).


Pour résoudre
mxl.gif
mxl.gif (1.71 Kio) Vu 5865 fois
On tape

Code : Tout sélectionner

[ [ 2 [ 9 [ 12 CHS ENTER
[ [ 2 2 CHS 3 [ 5 2 3 CHS [ 1 5 3 CHS  /
Et on obtient la solution

Code : Tout sélectionner

[[  1.57142857143 ]
   -4.90476190477 ]
   -3.65079365030 ]]
Et pour
62u.gif
62u.gif (1.47 Kio) Vu 5865 fois
On obtient la solution x=2, y=5 et z=1 en tapant :

Code : Tout sélectionner

[ 13 1 CHS  13 ENTER [ [ 3   1  2 [ 1  1   8 CHS [ 1 CHS 2   5  /


Ah! Zut! on n'a pas le droit aux fonctions matricielles.

Dommage, mon programme en une seule opération était difficile à battre...



... les RPL c'est vraiment que de la gruge !!

Je vais chercher mon SHARP PC-1211 !
par C.Ret
06 sept. 2013 21:08
Forum : Problèmes techniques
Sujet : Carte mère PcChips 918i bloquée par mot de passe
Réponses : 20
Vues : 15902

Re: Carte mère PcChips 918i bloquée par mot de passe

Sur les cartes-mères anciennes, le BIOS est en ROM et cerains BIOS ont par défaut un démarrage avec un mot de passe.

Donc il est possible que le BIOS demande un "mot de passe" par défaut et qu'il faille entrer celui inscrit "par défaut".

Sans trouver la documentation technique de cette carte-mère ceci peut être difficile.

Par contre, ce qui est sûr c'est que sur les cartes-mères de l'époque, il y avait un 'jumper' pour activer/inhiber le mot de passe et aussi un autre 'jumper' (ou une combinaison de jumpers) pour réinitialiser à l'état initial. Dans le même style, il y avait aussi des 'jumpers' pour configurer/activier/interdire de modifier ou flasher le BIOS.

Là encore, il faut trouver la documentation qui indiquera comment configurer les 'jumpers' pour permettre un " redémarrage à froid ".

A mon avis icho a raison, il faut trouver la combinaison de jumper.
par C.Ret
05 sept. 2013 21:44
Forum : Tous les Pockets
Sujet : Re: Misez p'tit, optimisez ! n° 46 : Jusqu'à la racine
Réponses : 26
Vues : 15283

Re: Misez p'tit, optimisez ! n° 46 : Jusqu'à la racine

Pas mal ces diffèrentes versions !

J'ai obtenu les approximations successives de la racine carrée de 150225 :

Code : Tout sélectionner

150225        75113        37557.5      18780.74994   9394.37441
  4705.18268   2368.55512   1215.98993    669.76563    447.03025
   391.54067    387.60864    387.8870     387.58870    387.58870
Avec le code suivant qui tourne sur un HP-41C

Code : Tout sélectionner

               t:    z:    y:     x:
                                   x     // argument dont on veux extraire la racine
001 RCL X                  x       x
002 LBL 00                 x       u     // ===== Boucle Principale
002 RCL Y             x    u       x          /  u est l'approximation en cours    
003 RCL Y       x     u    x       u
004 /           x     x    u     x/u 
005 +           x     x    x   u+r/u 
006 2           x     x u+r/u      2   
007 /           x     x    x      u'          / u' l'approximation suivante 
008 PAUSE
009 GTO 00                               // on arrête manuellement le programme lorsqu'il semble avoir conbergé
Mais je ne renonce pas à une version par dichotomie, juste pour le fun...

En tout cas merci à tous pour vos codes, programme et astuces...
par C.Ret
05 sept. 2013 21:23
Forum : Sondages
Sujet : Votre tableur préféré ?
Réponses : 28
Vues : 43236

Re: Votre tableur préféré ?

Bon, ben sur le terrain, ... comme en réunion.

mon tableur préféré c'est le bloc-note Rodhia 5x5 en format B3 et un bon stylo bille.
Image


Remarquons qu'il fait aussi traitement de texte, agenda, compte-rendu, pense-bête et il est compatible avec tous les language de programmation que je pratique...

Et j'ai pas de problème avec l'autonomie, ni les changement de version (la version A4 est bien aussi :P )
par C.Ret
27 août 2013 21:15
Forum : Frimer - brag - dernières acquisitions
Sujet : HP37e
Réponses : 8
Vues : 4964

Re: HP37e

Bonsoir,

Prendre le risque de démonter pour un seul segment, c'est un peu comme changer d'écran LCD pour un seul pixel mort !
par C.Ret
27 août 2013 21:09
Forum : Tous les Pockets
Sujet : Re: Misez p'tit, optimisez ! n° 46 : Jusqu'à la racine
Réponses : 26
Vues : 15283

Re: Misez p'tit, optimisez ! n° 46 : Jusqu'à la racine

Non non Treza, il n'y a pas de quoi être désolé !

Au contraire, je trouve toutes ces précisions fort interessantes et instructives !

C'est donc tout à fait dans l'esprit de ce M.P.O. qui d'aspect simple mène grâce aux efforts et à l'érudition des participants prend de l'épaisseur et attise les curiosiés...


Comme il s'agit tout de mêm d'un MPO, je me permet de "raccourcir" le code BASIC de baborhum

Code : Tout sélectionner

1 "R" AREAD X:Y=1
2 Y=(Y+X/Y)/2: PAUSE Y : GOTO 2
(On arrêtera la boucle par ON lorsuqe l'on jugera que la racine affichée a suffisemment convergée vers la racine carrée !
par C.Ret
24 août 2013 11:05
Forum : Tous les Pockets
Sujet : Re: Misez p'tit, optimisez ! n° 46 : Jusqu'à la racine
Réponses : 26
Vues : 15283

Re: Misez p'tit, optimisez ! n° 46 : Jusqu'à la racine

Effectivement, la méthode de Héron converge assez vite :

Ex.1 : racine de 25 en 6 itérations.

Code : Tout sélectionner

Itération     Racine
 0:           25.
 1:           13.            = (25     + 25 /25     )/2
 2:            7.46154       = (13     + 25 /13     )/2
 3:            5.40603       = (7.46154+ 25 /7.46154)/2
 4:            5.01525       = (5.40603+ 25 /5.40603)/2
 5:            5.00002       = (5.01525+ 25 /5.01525)/2
 6:            5.00000       = (5.00002+ 25 /5.00002)/2
...
inf            5.            = (5      + 25 /5      )/2 = 2 x 5 /2 = 5 
Ex.2: Et à peine plus long pour 150225 (14 itérations).

Code : Tout sélectionner

150225        75113        37557.5      18780.74994   9394.37441
  4705.18268   2368.55512   1215.98993    669.76563    447.03025
   391.54067    387.60864    387.8870     387.58870    387.58870

J'avais envisagé une méthode basée sur la dichotomie. Mais, elle semble plus longue.

Code : Tout sélectionner

« -> n
   « n
     1 28 START
        n OVER / + 2 /
     NEXT
   »
»

Aller à la recherche avancée