Algorithme

Publié le 15 mai 2011 il y a 12A par Anonyme - Fin › 22 mai 2011 dans 12A
5

Sujet du devoir

On s’intéresse aux entiers naturels qui sont la somme de carrés consécutifs d’entiers. C’est le cas par
exemple de 50 car : 50 = 32 + 42 + 52 . On admet que pour tout entier naturel N inférieur ou égal à 100,
l’algorithme ci-dessus nous donne :
- aucun message si N n’est pas la somme de carrés consécutifs d’entiers ;
- m et k si N est la somme de k carrés d’entiers consécutifs, le plus petit étant m2 .

Entrée N
Pour k de 1 à 7
Dans A mettre k
Dans B mettre A*(A-1)/2
Dans C mettre (B*(2*A-1)/3)-N
Dans D mettre B^2-A*C
Si VD > 0 alors
Si VD est entier alors
Dans m mettre (VD-B)/A
Afficher m, k
Fin du Si
Fin du Si
Fin de la boucle pour

1 Faire fonctionner l’algorithme pour N = 91. Écrire alors 91 comme une somme de carrés consécutifs d’entiers.
On veut maintenant que l’algorithme précédent fonctionne pour tous les entiers naturels inférieurs ou égaux à 3000.

2 Comment changer la 2e ligne (« Pour k de 1 à 7 ») de l’algorithme pour que celui-ci convienne pour
tous les nombres inférieurs ou égaux à 3000 (on pourra utiliser les résultats de la 1re partie).
Aucune justification n’est demandée.

3 On a appliqué le nouvel algorithme à 2010. L’algorithme a donné en sortie : k = 5. Quelle est la
valeur de m obtenue ? Écrire 2010 comme une somme de carrés d’entiers consécutifs.

4 Pour cette question, toute trace de recherche sera valorisée.
On a appliqué le nouvel algorithme à 2018. L’algorithme a donné en sortie : m = 7. Quelle est la valeur
de k obtenue ? Écrire 2018 comme une somme de carrés d’entiers consécutifs.

Où j'en suis dans mon devoir

Je n'ai rien effectue, j'ai du mal a faire fonctionner l'algorithme. Pourriez-vous me donner un exempe approchant. Merci par avance.



1 commentaire pour ce devoir


Anonyme
Posté le 15 mai 2011
Bonjour Benito,
donc :
Entrée N => 91
Pour k de 1 à 7 => k = 1
Dans A mettre k => A = 1
Dans B mettre A*(A-1)/2 => B = 1(1-1)/2 = 0
Dans C mettre (B*(2*A-1)/3)-N => C = 0 - 91 = -91
Dans D mettre B^2-A*C => D = 0 - (1*-91) = 91
Si VD > 0 alors => ?? c'est quoi VD? c'est Valeur de D ?
...

Je peux te conseil d'utiliser AlgoBox pour tester l'Algorithme:

http://www.xm1math.net/algobox/download.html#SECTION3

bon courage!

Ils ont besoin d'aide !

Il faut être inscrit pour aider

Crée un compte gratuit pour aider

Je m'inscrisOU

J'ai déjà un compte

Je me connecte