bonjour
alors voila je beugs sur cette exercice, je ne comprend vraiment pas la consigne es ce que quelqu'un pourait m'expliquer sans me donner la reponse car j'aimerai comprendre
on s'intéresse aux entiers naturels qui sont la somme de carré consécutifs d'entiers.C'est le cas par exemple de 29 car :29=2^2+3^2+4^2 . on admet que pour tout entier naturel N inférieur ou egal à 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 simme de k carrés d'entiers consécutifs,le plus petit etant m^2(pour l'ecriture précédente de 29 , m=2 et k =3)
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
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.
je n'est pas compris comment on fait marcher cette algorithme
merci
Bonjour,
tu peux vérifier ce que tu as tapé pour ton algo : voir s'il ne manque pas qq. chose ou bien des (....) mal mises, etc. car je n'arrive pas à le faire tourner.
Bonjour, pour le faire marcher, il faut le programmer (dans Algobox ou une calculatrice) sinon tu es obligé de le faire marcher à la main. C.a.d en faisant comme si tu étais un ordinateur et en exécutant chaque instruction. Tu les comprends ces instructions ? donc tu dois être en mesure de faire fonctionner le programme.
Bonjour,
Si on regarde le topic
Algorithme
on remarque qu'il manque une instruction racine carrée.
J'aimerais à titre de curiosité, une démonstration de cet algorithme.
Merci
mimi96 - 21.12.2012
******************************************
******************************************
1 VARIABLES
2 N EST_DU_TYPE NOMBRE
3 K EST_DU_TYPE NOMBRE
4 A EST_DU_TYPE NOMBRE
5 B EST_DU_TYPE NOMBRE
6 C EST_DU_TYPE NOMBRE
7 D EST_DU_TYPE NOMBRE
8 M EST_DU_TYPE NOMBRE
9 RAC EST_DU_TYPE NOMBRE
10 DEBUT_ALGORITHME
11 AFFICHER "Valeur de N:"
12 LIRE N
13 POUR K ALLANT_DE 1 A 12
14 DEBUT_POUR
15 A PREND_LA_VALEUR K
16 B PREND_LA_VALEUR A*(A-1)/2
17 C PREND_LA_VALEUR (B*(2*A-1)/3)-N
18 D PREND_LA_VALEUR B*B-A*C
19 SI (D>0) ALORS
20 DEBUT_SI
21 RAC PREND_LA_VALEUR sqrt(D)
22 SI (RAC==round(RAC)) ALORS
23 DEBUT_SI
24 M PREND_LA_VALEUR (RAC-B)/A
25 AFFICHER "N="
26 AFFICHER N
27 AFFICHER " K="
28 AFFICHER K
29 AFFICHER " A="
30 AFFICHER A
31 AFFICHER " B="
32 AFFICHER B
33 AFFICHER " C="
34 AFFICHER C
35 AFFICHER " D="
36 AFFICHER D
37 AFFICHER " M="
38 AFFICHER M
39 FIN_SI
40 FIN_SI
41 FIN_POUR
42 FIN_ALGORITHME
merci pour toute vos reponse
mais en relisant l'exercice j'ai remarqué que j'aivais oublié une donnée k=6 donc aprés c'etait baucoup plus facile
pour repondre a votre question fontaine6140 quand on fait marcher cette algorithme sa nous donne k= et m=1
si je me suis pas tronpé
Je pense que cela donne plutôt ceci:
signifiant
91=0²+1²+2²+3²+4²+5²+6² m=0 et k=7
ou
91=1²+2²+3²+4²+5²+6² m=1 et k=6
Bonsoir,
pour l'explication du fonctionnement de cet algorithme
1) il se limite volontairement à une somme d'au plus 12 termes
2) je pense que le principe est le suivant :
la somme des n premiers carrés 1² + 2² + ... + n² = n(n+1)(2n+1)/6
la somme des carrés successifs commençant à n+1 et se terminant à n+k est donc
S = (n+k)(n+k+1)(2n+2k+1)/6 - n(n+1)(2n+1)/6
les termes en n3 s'éliminant visiblement.
il s'agit donc de résoudre l'équation en n :
S (donné) = ce polynome du second degré en n, avec k comme paramètre
pour chaque valeur de k, on résoud donc cette équation du second degré et on ne garde que les équations qui donnent un n entier.
modulo quelques ajustements de détail sur les valeurs exactes de n et k (pas vérifié à 1 près)
vous voulez dir que pour fair marcher l'algorithme on poux utiliser une equation ? ce n'est pas plus simple d'appliquer l'agorithme ?
Non pas besoin d'équation pour faire fonctionner l'algorithme
C'est l'algorithme qui résoud l'équation pour nous !!
Les calculs ci-dessus étaient pour répondre à la question de fontaine6140 :
Merci mathafou d'avoir tenté de répondre à ma demande de démonstration.
Je vais essayer d'approfondir le sujet.
>>mimi96: le message de mathafou s'adresse à ma demande.
bonjour
pour faire cet ex est ce que vous pensez qu'il faut entrer le programme dans 1 calculatrice ou sur algobox car c'est vraiment trop long à la main; non?
"il se limite volontairement à une somme d'au plus 12 termes"
qu'est ce qui te fait dire ça mathafou?
POUR K ALLANT_DE 1 A 12
mon étude portait sur l'algo de Fontaine1640, car l'algo du post initial est "visiblement" entaché d'erreurs (la preuve la réponse de PapyBernie ?)
sur l'algo d'origine on est même limité à 7 termes : pour k de 1 à 7
Fedger:
D est entier alors : non
D n'est pas entier
Bonjour fedjer,
J'ai corrigé mon erreur au topic
Algorithme.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :