Bonjour,
J'ai un exercice dont voici l'énoncé :
Exemple d'une pyramide :Citation:
Votre programme doit d'abord lire un entier, le nombre maximum de pierres dont pourra être composée la pyramide. Il devra ensuite calculer la hauteur de la plus grande pyramide qui pourra être construite, ainsi que le nombre de pierres qui sera nécessaire.
EXEMPLE 1
entrée :
20
sortie :
3
14
EXEMPLE 2
entrée :
26042
sortie :
42
25585
Pièce jointe 141813
On remarque tout de suite qu'il s'agit de la somme d'une suite des n termes au carré : 1, 4, 9, 16, 25 etc..
Ce que j'ai fait :
Quand je rentre 20, j'obtiens bien le résultat escompté, mais quand je rentre 26042, non. J'ai donc fait un autre programme qui utilise la suite de la somme des n premiers nombres au carré n(n+1)(2*n+1)/6 :Code:
1
2
3
4
5
6
7
8
9 result = 0 i = 1 maxPierres = int(input()) while result < maxPierres: result = (i*i) + result i = i + 1 print i print result
mais j'obtiens l'erreur suivante :Code:
1
2
3
4
5
6
7
8 result = 0 n = 1 maxPierres = int(input()) while result < max: result = ((n(n+1)(2*n+1))/(6)) + result n = n + 1 print (n) print (result)
Merci de votre aide.Citation:
Traceback (most recent call last):
File "<stdin>", line 5, in <module>
TypeError: 'int' object is not callable