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

Programme e nPython 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 réponqe 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

Prorgamme 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éponsee 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 78 pommes et que vous en prenez 43, combien en avez-vous ?

Sujets similaires

Sujet Date Forum
P2T
09-02-2011 Blabla
P2T
Bonjour a tous ! par swoop
26-03-2008 Blabla
12-08-2007 Blabla
08-08-2007 Blabla
P2T
Merci par papyricko
27-02-2010 Blabla
P2T
Liberté par PRINCELEROI
16-11-2015 Blabla
P2T
Pub2Forum par Rikimaru
13-04-2010 Blabla
P2T
Besoin de conseils par randy22
29-07-2014 Blabla
23-01-2009 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