
Sinon si temp==3
o Tab[]={Tab[0],tab[1],Tab[2],3}
V=3,
Et on arrête l’algo.
Sinon si temp=rac(temp)²
o Tab={Tab[0], Tab[1],Tab[2], rac(temp)}
Et on arrête l’algo.
Sinon si temp est égal a 3 * k², et k entier naturel, c’est-à-dire temp=3k² //C’est là que ça
devient compliqué…
o Tab={Tab[0], Tab[1],Tab[2], k}
V=4;
Et on arrête l’algo.
Sinon si Tab[2] != 0 // « != » signifie différent.
o Temp=Temp+Tab[2]²
Tab[2]=Tab[2]-1
Et on reprend au repère 2.
// Et c’est vraiment ici que je ne sais pas comment faire… Je programme en C, c’est
peut-être pour ça ?
Si tab[2]==0, on reprend l’algorithme au repère 1. Temp reprend sa valeur « initiale » à
ce repère, c’est-à-dire temp=n-tab[0]² .
Tab[1] prend la valeur Tab[1]-1. Et on refait tourner l’algo, jusqu’en bas.
Si, au fur et à mesure des opérations, Tab[1] finit par atteindre la valeur 0 aussi…
Temp = n
On reprend l’algo avec Tab[0]-1 au repère 0.
Et si Tab[0] atteint 0, on affiche un joli message d’erreur, « Ne fonctionne pas pour
N=n », et on fait une pause dans le programme.
Fin de l’algorithme.
Vérification de la valeur de n :
Soit i=0, temp2=0
Si v !=4 :
-
Tant que i<v,
Temp2=temp2+tab[i]²
i=i+1
Fin Tant que
Tant que i < 4
Temp2=Temp2+tab[i]