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 : 3321

Programme en Python répose 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 : 941

prpgramme en python réponse mystérieuse ...

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 : 3321

Programme en Python répons emysté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 : 412

orogramme en python 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 (numériquement) à la petite énigme suivante : 

Si il y a 51 pommes et que vous en prenez 24, combien en avez-vous ?

Sujets similaires

Sujet Date Forum
P2T
09-02-2011 Blabla
P2T
Bonjour a tous ! par swoop
26-03-2008 Blabla
P2T
Joyeux Noel 2007 par EfCeBa
24-12-2007 Blabla
P2T
Bonne année 2012 par EfCeBa
01-01-2012 Blabla
P2T
Pokémon Go par fvallee27
23-07-2016 Blabla
P2T
28-02-2008 Blabla
31-10-2008 Blabla
P2T
30 ans déjà ... par Arrakis
08-12-2010 Blabla
P2T
Joyeux Noël par gwen27
25-12-2012 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