La fonction trouve de manière récursive et retourne le plus petit élément à partir d'une matrice qui a des éléments entiersprouver l'exactitude d'un programme
Min(A, b, e)
if (b=e)
return A[b]
m = (b+e)/2 // floor is taken
x = Min(A, b, m)
y = Min(A, m +1, e)
If(x < y)
return x
else
return y
Ma condition est: b et e sont des nombres entiers supérieurs à zéro
Mon poste condition est: retourner un entier x ou y (pas sûr à ce sujet)
Alors, comment puis-je prouver cela est exact en montrant que le pré et l'état de poste sont inductifs
Désolé pour le format, nouveau pour cela.
Avez-vous _ codé votre tâche comme vous l'avez fait? L'approche divide & conquer n'a pas beaucoup de sens ici puisque vous devez inspecter chaque élément des éléments du tableau une fois de toute façon, donc un schéma de récursion de queue beaucoup plus simple pourrait être appliqué (comme 'def fun MyMin (A, idxcur) = return (idxcur == 0)? A [idxcur]: min (MonMin (A, idxcur-1), AA [idxcur]); – collapsar