CS
VB, VB.NET
ASP.NET,ASP
C, C++
ColdFusion
PHP
Javascript
Delphi
Flash
Java
Graphisme
Irc
Assembleur
C#
Mobilité
SQL
Foxpro
Python
Regex
Flex
Windev
Ce site au démarrage
Derniers codes
Outils
Divers
Connexion
Visual Basic
ASP
C++
ColdFusion
PHP
Javascript
Delphi
Flash
Java
Graphisme
Irc
Assembleur
C#
Mobilité
SQL
Foxpro
Python
Regex
Flex
Statistiques ;-)
Crédits
>>
Sites CodeS-SourceS
Visual basic
C++
C#
Java
PHP
ASP
ASP.NET
ColdFusion
Delphi
Javascript
Flash
Flex / AIR
Graphisme
Assembleur
IRC
Mobilité
SQL
FoxPro
Python
CodeS-SourceS ToolBox
Convertisseur C#<->VB
Colorisation de Code
Table ASCII
Trouver un fichier de code source :
Version Française -
English Version
Accueil
>
PHP
>
ALGORITHME D'EUCLIDE OU DIVISIONS SUCCÈSSIVES : CALCULE DU PGCD EN BONNE FORME !
>
euclide.php
ALGORITHME D'EUCLIDE OU DIVISIONS SUCCÈSSIVES : CALCULE DU PGCD EN BONNE FORME !
euclide.php
Informations sur ce code source
Code Source
ALGORITHME D'EUCLIDE OU DIVISIONS SUCCÈSSIVES : CALCULE DU PGCD EN BONNE FORME !
Auteur
canibale
Fichier
euclide.php en
PHP
Publié le
07/02/2007
Mis à jour le
07/02/2007
Salutations ! Je vous présente ce code (qui est ma première contribution pour phpcs). je l'ai codé suite à un cours sur le PGCD (Plus Grand Commun Diviseur) en classe de 3ème. J'ai regardé les sources sur la question et je me suis aperçu qu'auc
Fichier :
euclide.php
Nombre de lignes :
103 lignes
Afficher ce fichier en plein écran
<
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
>
<
meta
http
-
equiv
=
"Content-Type"
content
=
"text/html; charset=iso-8859-1"
/>
<
title
>
Algorithme d'Euclide
</
title
>
</
head
>
<
body
>
<
fieldset
>
<
legend
>
<
b
>
Données
</
b
>
</
legend
>
<
form
method
=
"get"
>
<!--début du formulaire méthode get On affiche les nombres déjà entrés au cas ou il y a une faute de frappe que l'utilisateur veille modifier! -->
Nombre n°1 :
<
input
type
=
"text"
name
=
"nbr1"
id
=
"nbr1"
value
=
"<?php if(isset($_GET['nbr1'])) echo $_GET['nbr1']; ?>"
/>
<
br
/>
Nombre n°2 :
<
input
type
=
"text"
name
=
"nbr2"
id
=
"nbr2"
value
=
"<?php if(isset($_GET['nbr2'])) echo $_GET['nbr2']; ?>"
/>
<
br
/>
<
input
type
=
"submit"
value
=
"Calculer !"
/>
</
form
>
</
fieldset
>
<?
php
##Euclide nous dit qu'il faut diviser le nombre le plus grand par le plus petit donc c'est chose faite !##
if
(isset($_GET['
nbr1
']) && isset($_GET['
nbr2
']))
//pour ne pas exécuter le script pour rien ;)
{
if
($_GET['
nbr1
'] >= $_GET['
nbr2
'])
{
$nbr1 = $_GET['
nbr1
'];
$nbr2 = $_GET['
nbr2
'];
}
else
{
$nbr1 = $_GET['
nbr2
'];
$nbr2 = $_GET['
nbr1
'];
}
?>
<
fieldset
>
<
legend
>
<
b
>
Résultat
</
b
>
</
legend
>
<!--Affichage de la rédaction-->
PGCD(
<?
=$nbr1
?>
;
<?
=$nbr2
?>
)
<
br
/>
On utilise l'algorithme d'Euclide
<
br
/>
Et on regroupe les résultats dans un tableau.
<
center
>
<
table
>
<
thead
>
<!-- En-tête du tableau -->
<
tr
>
<
th
>
Dividende
</
th
>
<
th
>
Diviseur
</
th
>
<
th
>
Reste
</
th
>
</
tr
>
</
thead
>
<
tfoot
>
<!-- Pied de tableau -->
<
tr
>
<
th
>
Dividende
</
th
>
<
th
>
Diviseur
</
th
>
<
th
>
Reste
</
th
>
</
tr
>
</
tfoot
>
<
tbody
>
<!-- Corps du tableau -->
<?
php
$dividende = $nbr1;
// le dividende est le premier nombre (nbr1/nbr2 = résultat entier +reste)
$diviseur = $nbr2;
//le diviseur est donc le second nombre
$reste = $nbr1%$nbr2;
//Opération de modulo pour obtenir le reste !
echo
"
<tr>
<td>$dividende</td>
<td>$diviseur</td>
<td>$reste</td>
</tr>"
; //Affichage
while
($reste != 0)
// On fait l'opération qui suit dans une boucle
{
/*On décale : le reste devient le diviseur et le diviseur devient le dividende */
$dividende = $diviseur;
$diviseur = $reste;
echo
"
<tr>
<td>$dividende</td>
<td>$diviseur</td>"
; //affichage
$reste = $dividende%$diviseur;
//Modulo
echo
"
<td>$reste</td>
</tr>"
; //affichage
}
?>
</
tbody
>
</
table
>
</
center
>
<!--Fin de la rédaction-->
Or, dans l'algorithme d'Euclide le PGCD est le dernier reste non nul.
<
br
/>
PGCD(
<?
=$nbr1
?>
;
<?
=$nbr2
?>
)
=
<?
=$diviseur
?>
</
fieldset
>
<?
}
?>
</
body
>
</
html
>