Salut à tous
Puisque bcp de personnes aiment se casser la tete ici ( perso j adore mais seulement sur les vieux pb de jeux et strategie
) voici la question subsidiaire du concours de mathematiques Kangourou 2004 pour les 6eme et 5eme :
Si on multiplie 1 x 2 x 3 x . .. x 98 x 99 x 100 quel sera le dernier chiffre autre que zero que l on pourra voir ( c est à dire que si le nombre trouvé est 125000 le dernier chiffre lu est 5 avant les zeros
)
Alors voici les divers resultat que nous avons trouvé avec un pote prof de physique ( moi les math, j aime bien mais je suis pas super bon) :
Sur excel : si l on fait l operation en 100 ligne le dernier chiffre que l on peut lire est 1 !
mais si l on fait fact(100), nous obtenons exactement le meme resultat, sauf pour le dernier chiffre avant les 0 qui devient cette fois ci : 2 ! !
Enfin si l on suit un site internet qui programme le truc en java, la reponse est 4 !
Quelqu un aurait il la bonne reponse, ou surtout un moyen de trouver le resultat sans faire l ensemble des operations, parce que le truc rigolo c est que le probleme est une question subsidiaire pour eleves de 6eme ! !!!
Merci.
PS le lien pour le site est :
http://www.sciences-en-ligne.com/momo/chronomath/anx2/facto_javas.html
Tiens avec Python aussi on obtient un 4...
oki je te remercie, et dans ce cas, alors pourquoi l excel ne donne pas le resultat ?
Si c etait une racine carrée, genre le fameux pb racine de 49 qui donne un 6.9999999999999999 sur bons nombres de vieux programmes, je peux comprendre, il marche par dicotomie, ou un truc du genre, mais une multiplication ? c est un resultat net je trouve.
euh je sais pas mais sur Excel moi je trouve 6 ![]()
Lol altonfrere refais ton calcul
en manuel le resultat te donne :
93326215443944100000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000
et fact(100) te donne :
93326215443944200000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000
quant au site indiqué :
http://www.sciences-en-ligne.com/momo/chronomath/anx2/facto_javas.html
et te donne un 4
93326215443944152681699238856266700490715968264381
62146859296389521759999322991560894146397615651828
62536979208272237582511852109168640000000000000000
00000000
voila factoriel 100 au complet avec Mapple.
Le problème vient tout simplement d´un dépassement de capacité pour bon nombre de logiciel normaux
P.S. sur vos résultat, le grand nombre a la fin, vient du fait que vous avez perdu des chiffres au dela de la limite de mémoire de votre machine. Comme je viens de le dire.
Sur le miens aucontraire, les 0 sont ceux qu´on doit s´attendre a trouver car 100! on a plusieur fois un facteur 10 qui intervient et donc a chaque fois un 0 de plus.
thx dnob700
On obtient la même chose avec python :
9332621544394415268169923885626670049071
5968264381621468592963895217599993229915
6089414639761565182862536979208272237582
51185210916864000000000000000000000000L
La que stion c etais pas ca c etait
1+2+3+4+5+6+7+8+9+.........+96+97+98+99+100
" Lol altonfrere refais ton calcul"
arf non ok c moi qui avait mal formaté les cellules
c´était en flottant doit y avoir un arrondi qui est passé par là : 9,3326E+157 ![]()
Somme de n entiers successifs en fait. Tu fais ça avec une suite arithmetique et ça roule.
si la question c´était la somme plutot que le produit ( vous êtes sur) dans ce cas, c´est extrement simple :
de tête 1+2+3+4+5+6+7+8+9=42
1+2+3+...+100=...420
Donc la réponse est 2.
Non. 1+2+3+...+100 = 5050
Donc 5.
Peut-être, de toute facons, après vérification ( ma soeur a fait le concours) la question était bien le produit des 100 premiers naturel non nul et non leur somme.
Franchement j´ai plus confiance en Python qu´en Excel.
C´est + ou c´est * ?
Alors réponse, avec *, c´est ce que te dis Maple :
il faut un logiciel qui ne fasse pas d´overflow, Maple gere les nombres grands.
Si Python trouve pareil, c´est qu´il gere aussi.
Sans faire le calcul avec les *, je ne vois pas comment faire.
Cependant, avec les +, il y a une formule :
THEOREME :
1+2+3+...+n = ( n*(n+1))/2
donc ici, on va jusqu´a 100 :
( 100*101)/2= 5050
Mais sans me taper le calcul ; -p
J´ai cherche un peu comment on pourrait arriver a trouver ca a la main, et j´ai reussi a trouver 4. Par contre, je sais pas si c´est du niveau 6eme.
J´ai surement du trop me compliquer la vie et il doit y avoir une astuce
on a des groupes a calculer
1*2*3*4*5*6*7*8*9*10
11*12*13*14*..19*20
etc
A chaque fois ce qui peut donner un 0 c´est le dernier terme et le terme multiple de 5 ( 5,15,25...) multiplie par 2
donc on vire ces 2 termes pour avoir 100! sans les derniers zeros.
on a alors
1*2*3*4*6*7*8*9
11*12*13*14*16..*19
. ..
sachant qu´on doit diviser chaque ligne par 2 en plus.
Comme on n´a plus de 0, on s´interesse seulement au dernier chiffre resultat des multiplications.
par ex 2*3*4=24=4
4*6=24=4
4*7=28=8
8*8=64=4
4*9=36
( il faut bien penser a diviser par 2)
et on a donc 18
donc le resultat de la premiere ligne est 8
Pour les lignes suivant c´est le meme principe.
Si on calcule 12*13 ca revient au meme que faire 2*13+10*13. Donc l´unite est seulement influencee par 2*13 et plus precisement par 2*3.
On se retrouve donc dans le meme cas qu´a la 1ere ligne, cad calculer le dernier chiffre de 2*3*4*6*7*8*9/2
on obtiendra donc 8
si on fait ca pour les 10 lignes ( ->99)
on va avoir 8^10 a calculer
Ben la suffit de decomposer a la main
8*8=64=4
4*8=32=2
2*8=6
6*8=8
8*8=4
4*8=2
2*8=6
6*8=8
8*8=4
Et on trouve 4.
Plus simplement, ca revient a élever à la puisasnce dix, le dernier chifre différend de 0 9!
C´est aussi ce qui m´ais venu a l´esprit, mais je crois que c´est juste une coincidance que ca onctionne, car cela ne amrch plus si dans l´énoncé on remplace 100 par 90 par exemple et qu´on fait 8^9 au lieu de 8^10
Ou est l´erreur.