Variant et Invariant
Ven 26 Mar - 8:00
Voici un programme pour lequel je n'arrive pas à déterminer le variant et l'invariant:
def PGCD(a,b):
"""permet de déterminer le PGCD de deux nombres"""
R,r=a,b
while r! =0:
R,r=r,R%n
return R
def PGCD(a,b):
"""permet de déterminer le PGCD de deux nombres"""
R,r=a,b
while r! =0:
R,r=r,R%n
return R
Re: Variant et Invariant
Ven 26 Mar - 8:04
Le variant du programme est la variable 'r'.
Si l'on note r_n sa n-ième valeur alors r_{n+1}<r_n et la suite strictement décroissante d'entiers est non minorée donc dépasse '0'.
L'invariant est a_n=pgcd(R_n,r_n)
a_{n+1}=pgcd(r_n,R_n%r_n) = pgcd(r_n, R_n-q r_n) = pgcd(r_n, R_n)=a_n car on peut faire une transvection sur les pgcd.
Si l'on note r_n sa n-ième valeur alors r_{n+1}<r_n et la suite strictement décroissante d'entiers est non minorée donc dépasse '0'.
L'invariant est a_n=pgcd(R_n,r_n)
a_{n+1}=pgcd(r_n,R_n%r_n) = pgcd(r_n, R_n-q r_n) = pgcd(r_n, R_n)=a_n car on peut faire une transvection sur les pgcd.
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum