Enigmes

Forum dédié aux énigmes et à toutes formes de jeux de logique.

Déconnexion

Tu n'es pas identifié sur Prise2tete : s'identifier.

accueil Accueil forum Forum
[+]

 #1 - 04-01-2015 10:04:25

shadock
Elite de Prise2Tete
Enigmes résolues : 39
Messages : 3332

Programmee en Python réponse mystérieuse ...

Bonjour dans le cadre de mes cours cette année j'ai informatique et nous codons en python. Afin je m’entraîner un peu avant les concours j'ai commencé le projet Euler, pour le troisième problème il s'agit de trouver le plus grand facteur premier d'un nombre donné dans l'énoncé je n'ai donc pas réfléchit à faire efficace j'ai directement codé ça :

Code:

def factor(nombre):
    k=2
    a=0
    while k <=nombre:
        if nombre%k==0:
            nombre=nombre/k
            a=k
        else:
            k=k+1
    return a

print(factor(600851475143))

Le programme renvoie 6857, la réponse attendue tout va bien...

Oui mais pour m'amuser j'ai demandé à mon programme :

Code:

print(factor(10**100))

(10^100)

Le programme n'étant pas optimisé je ne m'attendais à ce qu'il me réponde....en moins de 3 secondes

Code:

458197

... yikes

Ce qui est fort embêtant c'est que la factorisation de 10^n est 2^n*5^n quelque soit n un entier...

Une explication ?

Shadock



Annonces sponsorisées :

"L'expérience est une lanterne qui n'éclaire que celui qui la porte." L-F. Céline
  • |
  • Répondre

#0 Pub

 #2 - 05-01-2015 08:53:14

scrablor
Expert de Prise2Tete
Enigmes résolues : 49
Messages : 949

Programme en Python réponse mysétrieuse ...

J'ai testé sur http://www.tutorialspoint.com/execute_python_online.php
La réponse est bien 5 pour 10^100...
La version utilisée est Python v2.7.5

Pris d'un doute, je suis revenu avec Python v3.3.2
http://www.tutorialspoint.com/execute_p … online.php
Résultat : 458197

Qui a dit "amélioration" ?


Celui qui fuit les casse-tête ne vaut pas un clou.

 #3 - 05-01-2015 17:40:26

shadock
Elite de Prise2Tete
Enigmes résolues : 39
Messages : 3332

Programme e nPython réponse mystérieuse ...

J'ai justement la dernière version ...

Tes sites ont l'air cool mais je ne comprends pas comment on exécute le programme j'ai beau appuyer sur Execute je ne vois pas où est la réponse ? non c'est bon !


"L'expérience est une lanterne qui n'éclaire que celui qui la porte." L-F. Céline

 #4 - 12-01-2015 07:24:24

enigmatus
Professionnel de Prise2Tete
Enigmes résolues : 0
Messages : 443

Programme en Pythonn réponse mystérieuse ...

Bonjour,
En python2, / est une division entière (si les 2 opérandes sont entiers), mais pas en python3. Il suffit de remplacer

Code:

            nombre=nombre/k

par

Code:

            nombre=nombre//k

et ça marche dans les 2 cas.

 

Réponse rapide

Rédige ton message
| | | | Upload | Aide
:) :| :( :D :o ;) :/ :P :lol: :mad: :rolleyes: :cool:
Sécurité

Répondez à la devinette suivante : 

Le père de toto a trois fils : Pim, Pam et ?

Sujets similaires

Sujet Date Forum
P2T
09-02-2011 Blabla
08-11-2007 Blabla
P2T
Merci Prise2tête par amgine
28-08-2017 Blabla
P2T
Hommage et Pépite par HAMEL
28-06-2009 Blabla
P2T
Audience par Klimrod
18-09-2013 Blabla
15-06-2010 Blabla
22-11-2010 Blabla
29-04-2008 Blabla
P2T
Dérivée de |x| par shadock
24-12-2010 Blabla

Mots clés des moteurs de recherche

Pied de page des forums

P2T basé sur PunBB
Screenshots par Robothumb

© Copyright 2002–2005 Rickard Andersson

Prise2Tete Forum Statistiques Liste des membres Hall of Fame Contact
© Prise2tete - Site d'énigmes et de réflexion.
Un jeu où seules la réflexion, la logique et la déduction permettent de trouver la solution.

Flux RSS de Prise2Tete Forum Jeux & Prise2Tete Test & Prise2Tete Partenariat et Publicité sur Prise2Tete