Inscription / Connexion Nouveau Sujet
Niveau Licence Maths 1e ann
Partager :

Trouver n sachant m tel que n^3 + (n-1)^3 + ... + 1 = m

Posté par
NoGlitch
25-02-18 à 13:50

Bonjour à tous,

Le problème:

Voici mon problème: je dois construire un algorithme mathématique pour résoudre le problème suivant (simple entraînement de programmation).

Je dois résoudre l'équation suivante, sachant n un entier et m un entier connu:
n^3 + (n-1)^3 + (n-2)^3 + ... + 1 = m

Exemple:

Voici les solutions pour les premiers m:

meqn
11 ^ 31
91 ^3 + 2 ^32


Solution brute:

Une solution simple à mon problème est d'itérer n et de sommer jusqu'à tomber sur m, mais j'aimerais avoir une formule me donnant la réponse en un calcul si elle existe.

Mes pistes:

J'ai cherché du côté de suites géométrique et algébriques mais je ne pense pas que la solution ce trouve de ce côté.

J'ai cherché à voir une relation entre les différents m mais pareil ça ne donne rien:
De n = 1 à n = 2, m_1 * 9 = m_2
De n = 2 à n = 3, m_2 * 0,44444444 = m_3

Comme mes connaissances en maths sont un peu rouillées, j'aimerais surtout avoir le nom du théorème ou une simple piste pour résoudre mon problème, je ne veux pas avoir la solution toute faite.

Merci pour votre attention et n'hésitez pas si vous avez des questions.

Posté par
Glapion Moderateur
re : Trouver n sachant m tel que n^3 + (n-1)^3 + ... + 1 = m 25-02-18 à 14:17

Bonjour, oui il y a une formule, pour info la somme des cubes entre 1 et n vaut n²(n+1)²/4
(à démontrer par récurrence par exemple)

Posté par
flight
re : Trouver n sachant m tel que n^3 + (n-1)^3 + ... + 1 = m 26-02-18 à 09:26

salut

voila ce que j'ai pu faire pour ton exo mais sous excel vba ca à l'air de bien marcher

Citation :
sub calcul ()
m = InputBox("saisir un entier")
N = 1
2:
p = 0
z = 0
For k = 0 To N - 1
  z = z + (N - k) ^ 3

     If z = Val(m) Then
         GoTo 1
         Else
         p = p + 1 'nombre d'echecs de recherche
    End If
Next


If p = N Then
   If z <= Val(m) Then
      N = N + 1
       GoTo 2
   Else
     MsgBox "Impossible à faire"
      Exit Sub
   End If
End If
1: MsgBox N
end sub


pour m=9  ---> retourne n=2
pour m=1 ---> retourne n=1
pour m=36 ---> retourne n=3
pour m=5 ---> retourne "impossible"
pour m=100 --> retourne n =4

Posté par
NoGlitch
re : Trouver n sachant m tel que n^3 + (n-1)^3 + ... + 1 = m 27-02-18 à 20:10

Glapion @ 25-02-2018 à 14:17

Bonjour, oui il y a une formule, pour info la somme des cubes entre 1 et n vaut n²(n+1)²/4
(à démontrer par récurrence par exemple)


Super c'est ce que je cherchais, merci !

flight @ 26-02-2018 à 09:26

salut

voila ce que j'ai pu faire pour ton exo mais sous excel vba ca à l'air de bien marcher
Citation :
sub calcul ()
m = InputBox("saisir un entier")
N = 1
2:
p = 0
z = 0
For k = 0 To N - 1
  z = z + (N - k) ^ 3

     If z = Val(m) Then
         GoTo 1
         Else
         p = p + 1 'nombre d'echecs de recherche
    End If
Next


If p = N Then
   If z <= Val(m) Then
      N = N + 1
       GoTo 2
   Else
     MsgBox "Impossible à faire"
      Exit Sub
   End If
End If
1: MsgBox N
end sub


pour m=9  ---> retourne n=2
pour m=1 ---> retourne n=1
pour m=36 ---> retourne n=3
pour m=5 ---> retourne "impossible"
pour m=100 --> retourne n =4


Merci pour ton travail mais comme je le disais dans mon poste je souhaitais faire de l'optimisation et eviter un calcul. Merci quand même

Posté par
Razes
re : Trouver n sachant m tel que n^3 + (n-1)^3 + ... + 1 = m 27-02-18 à 21:27

Bonsoir,

Comme te l'a fait remarquer Glapion, tu as: \sum_{k=1}^{n}k^{3}= \left (\dfrac{n(n+1)}{2}\right )^{2}

Donc ton algorithme reviendrait à résoudre: \left (\dfrac{n(n+1)}{2}\right )^{2}=m\Leftrightarrow n(n+1)=2\sqrt{m}\Leftrightarrow n^{2}+n-2\sqrt{m}=0



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1768 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !