Cours gratuits > Forum > Forum maths || En bas
Message de meivrya posté le 01-04-2011 à 12:08:00 (S | E | F)
Bonjour,
Voici un exercice où votre aide me serait très précieuse:
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=3²+4²+5². on admet que pour tout entier naturel N inférieur ou égal à 100, l'algorithme ci-dessous nous donne:
-aucun message si N n'est pas la somme de carrés consécutifs d'entier;
- m et k si N est la somme de k carrés d'entiers consécutifs, le plus petit étant m²
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 √D›0 alors
Si √D est entier alors
Dans m mettre (√D-B)/A
Afficher m, k
Questions:
1. Faire fonctionner l'algorithme pour N=91. Ecrire 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 2ième ligne ("Pour k de 1 à 7")de l'algorithme pour que celui-ci convienne pour tous les nombres inférieurs ou égaux à 3000;
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? Ecrire 2010 comme une somme de carrés d'entiers consécutifs.
4. On a appliqué le nouvel algorithme à 2018. La sortie à donné en sortie m=7. Quelle est la valeur de k obtenue? Ecrire 2018 comme une somme de carrés consécutifs.
Voilà!! J'ai besoin d'aide pour les 4 questions.
Merci d'avance.
Réponse: Algorithme de clairefr, postée le 01-04-2011 à 19:12:00 (S | E)
Pour la question 1. essaye d'appliquer l'algorithme bêtement :
Entrée N
N= 91
k=1
A=k=1
B=A*(A-1)/2=1*0/2=0
C=(B*(2*A-1)/3)-N = 0/3-91=-91
D=B^2-A*C=0^2-1*(-91)=91
√D n'est pas un entier donc on passe à k=2 sans rien afficher
k=2
etc.
Il faut vraiment que tu l'appliques à la main pour le comprendre.
Tu peux aussi le programmer sur Algobox et lancer en mode pas à pas.
Je pense qu'il y a une erreur dans ton algorithme :
Si √D›0 alors ***********************Si D>0 alors
Réponse: Algorithme de meivrya, postée le 03-04-2011 à 13:49:17 (S | E)
Bonjour,
Merci pour le 1. Oui il doit y avoir une erreur, mais ce doit être les fautes de frappe de l'énoncé!!^^
Cours gratuits > Forum > Forum maths