Re: Le calcul de la racine carré... pour des nuls :)

Liste des GroupesRevenir à fs maths 
Sujet : Re: Le calcul de la racine carré... pour des nuls :)
De : talon (at) *nospam* niobe.lpthe.jussieu.fr (Michel Talon)
Groupes : fr.sci.maths
Date : 09. Nov 2024, 19:39:17
Autres entêtes
Organisation : Guest of ProXad - France
Message-ID : <672fac55$0$16825$426a34cc@news.free.fr>
References : 1 2 3 4 5 6 7 8 9 10 11 12
User-Agent : Mozilla Thunderbird
Le 09/11/2024 à 16:53, Samuel Devulder a écrit :
Le 09/11/2024 à 13:34, efji a écrit :
Ce n'est pas ce que je dis, j'ai juste dit que ça choque mes habitudes de vieux, mais pourquoi pas si on y gagne quelque chose. Mais en fait je ne vois pas ce qu'on y gagne 🙂
 Une absence de typage rend les langages bien plus simples à l'usage. Il s'agit de langages de script pas de programmation. On écrit pas une application avec ca mais des maquettes pour tester rapidement un truc.
 Lua va assez loin dans la réduction du nombre de types de données puis que tableaux et dictionnaires sont confondus, et à l'usage c'est très agréable je dois bien avouer.
 sam.
Et bien, pour passer de langages récents à un langage très ancien voici une solution avec Common Lisp  (en fait sbcl)  qui lui aussi a l'avantage d'un programme non typé (sauf si on déclare le type des variables) avec gestion automatique de la mémoire, possibilité de programmer pas à pas à la console, comme python ou lua, mais en outre est compilé automatiquement (avec sbcl)
ce qui donne une vitesse d'exécution raisonnable, contrairement à python par exemple.
Voici le programme:
(defun print-bizarre-squares (N str)
   (let ((k 1) (l 10))
     (dotimes (i N 'done)
       (let ((j (* i i)))
     (when (<= l j)
       (incf k)
       (setq l (* 10 l)))
    ;; Here 10^(k-1) <= j < 10^k, j has k digits
    (if (evenp k) (test-if-bizarre i j  (expt 10 (/ k 2)) str))))))
(defun test-if-bizarre (i j l str)
   (multiple-value-bind (a b) (floor (/ j l))
     (if (= i (+ a (* l b))) (format str  " ~7d      ~d ~%" i j))))
(defparameter N (expt 10 7)) ; 10^7
(with-open-file (str "list-of-bizarre" :direction :output :if-exists :supersede)
   (time (print-bizarre-squares N str)))
Le résultat est écrit dans "list-of-bizarre"  et le temps d'éxécution est imprimé.
Sur ma machine  (2993.03 BogoMIPS ) assez lente, j'obtiens:
Evaluation took:
   7.894 seconds of real time
   7.891697 seconds of total run time (7.887671 user, 0.004026 system)
   [ Run times consist of 0.055 seconds GC time, and 7.837 seconds non-GC time. ]
   99.97% CPU
   11,815,133,039 processor cycles
   486,145,312 bytes consed
Finalement le résultat obtenu est:
        9      81
       45      2025
       55      3025
       99      9801
      703      494209
      999      998001
     4950      24502500
     5050      25502500
     7272      52881984
     7777      60481729
     9999      99980001
    77778      6049417284
    82656      6832014336
    95121      9048004641
    99999      9999800001
   318682      101558217124
   329967      108878221089
   351352      123448227904
   356643      127194229449
   390313      152344237969
   461539      213018248521
   466830      217930248900
   499500      249500250000
   500500      250500250000
   533170      284270248900
   538461      289940248521
   609687      371718237969
   643357      413908229449
   648648      420744227904
   670033      448944221089
   681318      464194217124
   791505      626480165025
   812890      660790152100
   818181      669420148761
   851851      725650126201
   857143      734694122449
   961038      923594037444
   994708      989444005264
   999999      999998000001
  4444444      19753082469136
  4927941      24284602499481
  5072059      25725782499481
  5555556      30864202469136
  9372385      87841600588225
  9999999      99999980000001
--
Michel Talon

Date Sujet#  Auteur
7 Nov 24 * Re: Le calcul de la racine carré... pour des nuls :)35Olivier Miakinen
7 Nov 24 `* Re: Le calcul de la racine carré... pour des nuls :)34efji
7 Nov 24  +- Re: Le calcul de la racine carré... pour des nuls :)1Olivier Miakinen
7 Nov 24  `* Re: Le calcul de la racine carré... pour des nuls :)32Thierry Loiseau
7 Nov 24   +* Re: Le calcul de la racine carré... pour des nuls :)30efji
8 Nov 24   i`* Re: Le calcul de la racine carré... pour des nuls :)29Olivier Miakinen
8 Nov 24   i `* Re: Le calcul de la racine carré... pour des nuls :)28efji
8 Nov 24   i  +* Re: Le calcul de la racine carré... pour des nuls :)2Olivier Miakinen
8 Nov 24   i  i`- Re: Le calcul de la racine carré... pour des nuls :)1efji
9 Nov 24   i  `* Re: Le calcul de la racine carré... pour des nuls :)25Samuel Devulder
9 Nov 24   i   `* Re: Le calcul de la racine carré... pour des nuls :)24efji
9 Nov 24   i    `* Re: Le calcul de la racine carré... pour des nuls :)23Olivier Miakinen
9 Nov 24   i     +* Re: Le calcul de la racine carré... pour des nuls :)18efji
9 Nov 24   i     i+* Re: Le calcul de la racine carré... pour des nuls :)16Samuel Devulder
9 Nov 24   i     ii`* Re: Le calcul de la racine carré... pour des nuls :)15Michel Talon
10 Nov 24   i     ii +* Re: Le calcul de la racine carré... pour des nuls :)6Samuel Devulder
10 Nov 24   i     ii i`* Re: Le calcul de la racine carré... pour des nuls :)5Michel Talon
10 Nov 24   i     ii i +* Re: Le calcul de la racine carré... pour des nuls :)2efji
10 Nov 24   i     ii i i`- Re: Le calcul de la racine carré... pour des nuls :)1Michel Talon
10 Nov 24   i     ii i `* Re: Le calcul de la racine carré... pour des nuls :)2Michel Talon
10 Nov 24   i     ii i  `- Re: Le calcul de la racine carré... pour des nuls :)1efji
10 Nov 24   i     ii +* Re: Le calcul de la racine carré... pour des nuls :)2efji
10 Nov 24   i     ii i`- Re: Le calcul de la racine carré... pour des nuls :)1Olivier Miakinen
10 Nov 24   i     ii +* Re: Le calcul de la racine carré... pour des nuls :)2Thierry Loiseau
10 Nov 24   i     ii i`- Re: Le calcul de la racine carré... pour des nuls :)1efji
12 Nov 24   i     ii `* Re: Le calcul de la racine carré... pour des nuls :)4Michel Talon
12 Nov 24   i     ii  `* Re: Le calcul de la racine carré... pour des nuls :)3efji
12 Nov 24   i     ii   +- Re: Le calcul de la racine carré... pour des nuls :)1Michel Talon
12 Nov 24   i     ii   `- Re: Le calcul de la racine carré... pour des nuls :)1efji
9 Nov 24   i     i`- Re: Le calcul de la racine carré... pour des nuls :)1Olivier Miakinen
9 Nov 24   i     +* Re: Le calcul de la racine carré... pour des nuls :)3Julien Arlandis
9 Nov 24   i     i+- Re: Le calcul de la racine carré... pour des nuls :)1efji
9 Nov 24   i     i`- Re: Le calcul de la racine carré... pour des nuls :)1Olivier Miakinen
10 Nov 24   i     `- Indexation des tableaux en js (was: Re: Le calcul de la racine carré... pour des nuls :))1Thomas Alexandre
8 Nov 24   `- Re: Le calcul de la racine carré... pour des nuls :)1Olivier Miakinen

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal