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

Prgoramme 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


"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 : 964

Programme en Python érponse 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 : 3334

Progamme en Python 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
Expert de Prise2Tete
Enigmes résolues : 0
Messages : 561

programme en python réponde 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 : Riri, Fifi et ?

Sujets similaires

Sujet Date Forum
P2T
09-02-2011 Blabla
31-10-2008 Blabla
14-05-2012 Blabla
P2T
Problème de Bâle par shadock
02-05-2013 Blabla
22-07-2015 Blabla
P2T
Fini! par PaulK
12-02-2008 Blabla
28-11-2014 Blabla
P2T
Besoin de conseils par randy22
29-07-2014 Blabla
P2T
Amour et maths par MthS-MlndN
11-06-2011 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