Listing du fichier lagrange.php
00001 <?php
00002
00003 error_reporting(E_ALL | E_NOTICE | E_STRICT ) ;
00004
00005 include("std.php") ;
00006 include("ds4c_inc.php") ;
00007
00008 $entete = 1 ;
00009 if (isset($_GET["entete"])) { $entete = $_GET["entete"] ; } ;
00010
00011 if ($entete==1) {
00012
00013 debutPage() ;
00014 debutSection() ;
00015
00016 ################################################################################################################
00017
00018 h1("Théorème de Lagrange") ;
00019
00020 ################################################################################################################
00021
00022 blockquote() ;
00023
00024 p() ;
00025 echo b("Tout entier positif ou nul peut se décomposer en au moins une somme de quatre carrés d'entiers. ") ;
00026 finp() ;
00027
00028 } ; # finsi
00029
00030 if (!isset($_GET['formulaire'])) {
00031
00032 ################################################################################################################
00033
00034 h2("1. Quelques exemples de décomposition") ;
00035
00036 ################################################################################################################
00037
00038 table(1,10,"collapse") ;
00039 entetesTableau("n a b c d") ;
00040 for ($idf=1;$idf<=10;$idf++) {
00041 $n = rand(100,1000) ;
00042 list($a,$b,$c,$d) = ds4c($n) ;
00043 tr() ;
00044 td("R") ; echo $n ; fintd() ;
00045 td("R") ; echo $a ; fintd() ;
00046 td("R") ; echo $b ; fintd() ;
00047 td("R") ; echo $c ; fintd() ;
00048 td("R") ; echo $d ; fintd() ;
00049 fintr() ;
00050 } # fin pour
00051 fintable() ;
00052
00053 } # fin si
00054
00055 $n = "" ;
00056 if (isset($_GET["n"])) {
00057 $n = $_GET["n"] ;
00058 } # fin si
00059
00060 if ($n=="") {
00061 p() ;
00062 echo "Aucun nombre passé en paramètre. Voici un exemple d'URL de calcul, " ;
00063 echo " n'hésitez pas à changer la valeur de ".b("n")." dans l'URL : " ;
00064 finp() ;
00065 p() ;
00066 nbsp(15) ;
00067 $url = "lagrange.php?n=635" ;
00068 echo href($url,"","gbleuf") ;
00069 finp() ;
00070
00071 } else {
00072
00073 if (!isset($_GET['formulaire'])) {
00074
00075 ################################################################################################################
00076
00077 h2("2. Arbre de décomposition de $n") ;
00078
00079 ################################################################################################################
00080
00081 } else {
00082
00083 h2("Arbre de décomposition de $n") ;
00084
00085 } # fin si
00086
00087 blockquote() ; # le texte qui suit est volontairement décommenté (gH).
00088
00089 $decomps = array() ;
00090 $decomp = array() ;
00091 $decompp = array() ;
00092 $nbdec = 1 ;
00093 $decomp[$nbdec] = $n ;
00094 $decomps[$nbdec] = ds4c($n) ;
00095 $decompp[$n] = 1 ;
00096
00097 $ajout = 1 ;
00098 while (($ajout>0) and ($nbdec<100)) {
00099
00100 $ajout = 0 ;
00101 for ($idec=1;$idec<=$nbdec;$idec++) {
00102
00103 list($a,$b,$c,$d) = $decomps[$idec] ;
00104
00105 if (!isset($decompp[$a])) {
00106 $nbdec++ ;
00107 $decompp[$a] = 1 ;
00108 $decomp[$nbdec] = $a ;
00109 $decomps[$nbdec] = ds4c($a) ;
00110 $ajout++ ;
00111 } ; # finsi
00112
00113 if (!isset($decompp[$b])) {
00114 $nbdec++ ;
00115 $decompp[$b] = 1 ;
00116 $decomp[$nbdec] = $b ;
00117 $decomps[$nbdec] = ds4c($b) ;
00118 $ajout++ ;
00119 } ; # finsi
00120
00121 if (!isset($decompp[$c])) {
00122 $nbdec++ ;
00123 $decompp[$c] = 1 ;
00124 $decomp[$nbdec] = $c ;
00125 $decomps[$nbdec] = ds4c($c) ;
00126 $ajout++ ;
00127 } ; # finsi
00128
00129 if (!isset($decompp[$d])) {
00130 $nbdec++ ;
00131 $decompp[$d] = 1 ;
00132 $decomp[$nbdec] = $d ;
00133 $decomps[$nbdec] = ds4c($d) ;
00134 $ajout++ ;
00135 } ; # finsi
00136
00137 } ; # fin pour idec
00138
00139 } ; # fin tant que
00140
00141 ################################################################################################################
00142
00143 # tri conjoint par ordre décroissant des tableaux des décompositions decomp et decomps
00144
00145 $nbe = count($decomp) ;
00146 for ($ide=1;$ide<$nbe;$ide++) {
00147 for ($jde=$ide+1;$jde<=$nbe;$jde++) {
00148 if ($decomp[$jde]>$decomp[$ide]) {
00149 # permutations
00150 $tmp = $decomp[$ide] ;
00151 $decomp[$ide] = $decomp[$jde] ;
00152 $decomp[$jde] = $tmp ;
00153 $tmp = $decomps[$ide] ;
00154 $decomps[$ide] = $decomps[$jde] ;
00155 $decomps[$jde] = $tmp ;
00156 } ; # fin si
00157 } # fin pour ide
00158 } # fin pour ide
00159
00160 ################################################################################################################
00161
00162 # affichage XHTML
00163
00164 table(1,10,"collapse") ;
00165 entetesTableau("n a b c d") ;
00166
00167 for ($idec=1;$idec<=$nbdec;$idec++) {
00168
00169 $nb = $decomp[$idec] ;
00170 list($a,$b,$c,$d) = $decomps[$idec] ;
00171
00172 if ($nb>0) {
00173 tr() ;
00174 td("R") ; echo $nb ; fintd() ;
00175 td("R") ; echo $a ; fintd() ;
00176 td("R") ; echo $b ; fintd() ;
00177 td("R") ; echo $c ; fintd() ;
00178 td("R") ; echo $d ; fintd() ;
00179 fintr() ;
00180 } ; # fin si
00181 } ; # fin pour
00182
00183 fintable() ;
00184
00185 finblockquote() ;
00186
00187 ################################################################################################################
00188
00189 # tracé en arbre avec dot ; la fonction ads4c est dans le fichier ds4c_inc.php
00190
00191 ads4c($n) ;
00192
00193 } ; # fin si
00194
00195 ################################################################################################################
00196
00197
00198 if ($entete==1) {
00199
00200 pvide() ;
00201
00202 p() ;
00203 echo href("montresource.php?nomfic=lagrange.php","Code-source de cette page","orange_stim nou")." ; " ;
00204 echo " fichier inclus : ".href("montresource.php?nomfic=ds4c_inc.php","ds4c_inc","orange_stim nou")."." ;
00205 finp() ;
00206
00207 finblockquote() ;
00208 finSection() ;
00209 finPage() ;
00210
00211 } ; # finsi
00212 ?>
Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.
Retour à la page principale de (gH)