Les Snippets

Connexion

PGCD de deux nombres grace à l'algorithme euclidien

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 01/04/2007 18:34:08 et initié par stfou [Liste]
Date de mise à jour : 11/05/2007 17:19:41
Vue : 6980
Catégorie(s) : Maths
Langages dispo pour ce code :
- Javascript
- C
- ObjectiveCaml
- ObjectiveCaml
- VB 2005
- VB6, VBA



Langage : Javascript
Date ajout : 01/04/2007
Posté par stfou [Liste]
DateMAJ : 02/04/2007

function pgcd(nb1,nb2)

{

    var nb3;

    while(nb2>0)

    {
        nb3=nb1;
        nb1=nb2;

        nb2=(nb3-nb1*Math.floor(nb3/nb1));

    }
    return nb1;
}

Langage : C
Date ajout : 10/05/2007
Posté par julien_boss [Liste]
DateMAJ : 11/05/2007
/* Récursivité utilisée   */
int pgcd(int m, int n)
{
  if (n==0) return m;
  else return pgcd(n, m%n);
}
Sans récursivité car dangereux pour la stack:
DWORD pgcd(DWORD a, DWORD b)
{
  DWORD t;
  if(!a || !b) return 0;
  if(a < b) {t = a; a = b; b = t;}
  for(;;) {
    if((t = a % b) == 0) return b;
    a = b; b = t;
  }
}
Langage : ObjectiveCaml
Date ajout : 03/06/2007
Posté par Cacophrene [Liste]
(* Calcule le pgcd des entiers a et b. Exemple d'utilisation : pgcd 4 8 donne 4*)
let rec pgcd a = function
    | b when a mod b = 0 -> b
    | b -> pgcd b (a mod b)

Langage : ObjectiveCaml
Date ajout : 04/06/2007
Posté par Cacophrene [Liste]
(* pgcd de deux nombres. Exemple d'utilisation : pgcd 2 4 renvoie 2 *)
let rec pgcd m = function
      | 0 -> m
      | n -> pgcd n (m mod n)
Langage : VB 2005
Date ajout : 19/06/2007
Posté par OneHacker [Liste]
    Public Function PGCD(ByVal a As Integer, ByVal b As Integer) As Integer
        If a = b Then
            Return a
        End If
        Dim c As Integer
        If b > a Then
            c = a
            a = b
            b = c
        End If
        Dim rest As Integer
        Math.DivRem(a, b, rest)
        If rest = 0 Then a = b
        While rest <> 0
            Math.DivRem(a, b, rest)
            a = b
            b = rest
        End While
        Return a
    End Function
Langage : VB6 , VBA
Date ajout : 13/12/2007
Posté par us_30 [Liste]

Function Pgcd2(ByVal A As Long, ByVal B As Long) As Long
'Calcul le PGCD de deux nombres
'Variante optimisant l'Algo d'Euclide
'Déclarations
Dim R As Long
'validité paramètre
If A = 0 And B = 0 Then Exit Function 'Pas de solution
If A < B Then R = B: B = A: A = R 'inverse les valeurs
'Algo
Do While Abs(B) >= 1
    R = A - Int(A / B + 0.5) * B 'Ici le +0.5 permet de réduire mathématiquement le nb de boucle nécessaire
    A = B
    B = R
Loop
Pgcd2 = Abs(A)
End Function


Snippets en rapport avec : Pgcd, Commun, Algorithme, Euclidien, Denominateur

10/05/2007 - PGCD de deux nombres



Codes sources en rapport avec : Pgcd, Commun, Algorithme, Euclidien, Denominateur

{Javascript / DHTML} TROUVER LE PLUS GRAND COMMUN DÉNOMINATEUR (PGCD)
Pratique pour les exercices de maths : Trouver le plus grand commun dénominateur d'un nombre. J'ai ...

{PHP} ALGORITHME D'EUCLIDE OU DIVISIONS SUCCÈSSIVES : CALCULE DU PGCD EN BONNE FORME !
Salutations ! Je vous présente ce code (qui est ma première contribution pour phpcs). je l'ai cod...

{PHP} PGCD : ALGORITHME D'EUCLIDE PAR RECURSIVITÉ
Il existe une fonction pour trouver le PGCD je vous en propose une autre ici. Cette fonction est re...

{PHP} [FONCTION RÉCURSIVE] DETERMINER LE PGDC DE DEUX NOMBRES
J'avais besoin de determiner le PGCD de 2 nombres, j'ai voulu le faire avec une fonction recursive, ...

{JAVA / J2EE} CALCULATRICE DE PGCD (PLUS GRAND COMMUN DIVISEUR)
Un petit programme avec fenêtre graphique qui permet de calculer le pgcd(le plus grand commun divise...

{Delphi} PGCD - ALGORITHME D'EUCLIDE
Bon voila je post pour la premiere fois sur ce site mon code source. Je pense qu'il est assé simple...

{C# / C#.NET} CALCUL DU PLUS GRAND COMMUN DIVISEUR (PGDC)
C'est mon premier programme en Csharp. J'ai 14 ans et cela fait peu de temps que je me suis lancé d...

{Visual Basic, VB6, VB.NET, VB 2005} PLUS GRAND DENOMINATEUR COMMUN
Recherche le plus grand denomiateur commun entre 2 chiffres. ...

{C / C++ / C++.NET} PRÉDICTION ET MODELISATION DE SERIES TEMPORELLES PAR RESEAUX DE NEURONES ARTIFICIELS MULTICOUCHES(PARTIE 1)
Modélisation de la croissance de la population par l'application logistique: Xn+1=AXn(1-Xn)=f(Xn)...

{JAVA / J2EE} CLASS IDENTITEREMARQUABLE.JAVA
un code simpliste juste pour le fun avec une méthode récursive et itérative. Dans cette classe vous...