Fonction itérative(très rapide) pour trouver le pgcd et le ppcm [tout compilateur]

Contenu du snippet

Deux petit fonction utile pour certain algo.

Point fort :
- avec deux nombre entre 999 millions et 100 millions le programme met une seconde(xp2400+) pour executer l'operation 1 million de fois. Bref, c'est rapide.

REMARQUE : La fonction PGDC avait d'abort été fait en récursif puis suite au conseil de BruNews je l'ai refaite en itératif.

Source / Exemple :


#include <stdio.h>
#include <stdlib.h>

//La fonction PGDC en récursif
/*
long PGCD(long a, long b, long r)
{
    if (!r) return b;
    PGCD(b,r,b%r);
}

  • /
//La fonction PGDC en itératif long PGCD(long a, long b) { long r; r=a%b; while(r) { a=b; b=r; r=a%b; } return b; } long PPCM(long a, long b) { return (a*b)/PGCD(a,b); } int main() { printf("%d\n",PGCD(731371571,775515735)); //,731371571%775515735 printf("%d\n",PPCM(731371571,775515735)); system("pause"); }

Conclusion :


Compatible tout compilateur avec quelque petite adaptation au pire.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (TheBabyCool)