Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

Répondre

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
soixante six plus trente neuf
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Retour

Résumé de la discussion (messages les plus récents en premier)

yoshi
07-05-2014 10:19:47

Bonjour,


Alors, j'ai un peu abrégé mes souffrances, je ne suis pas parti de 1  mais du plus petit nombre qui s'écrit avec 6 chiffres en base 23
100000 soit 6436343 en base 10.


from math import log

def longueurs(n,LG):  
    for bs in [2,3,10,15,23]:
        LG.append((int(log(n)/log(bs))+(n>=bs)))
    return LG

n=6436343
while 1:
    L=longueurs(n,[])
    if L==[26,16,8,7,6]:
        break
    else:
        n+=1      
        L=[]
   
print "Le nombre cherché est",n

Sortie

Le nombre cherché est 33554432

On doit pouvoir raccourcir un peu plus le temps d'attente...

@+

yoshi
06-05-2014 20:51:21

Re,

Ce prog calcule les bonne longueurs :
L,n=[2,3,10,15,23],33554432
print "Longueur de",n
for bs in L:
    fin,cpt,n=0,0,33554432
    nb=n
    while not fin :
        n=n//bs
        fin=(n<bs)
        cpt+=1      
    print "en base","%2i" % bs,":","%2i" % (cpt+(nb>=bs))

La preuve:

Longueur de 33554432
en base  2 : 26
en base  3 : 16
en base 10 :  8
en base 15 :  7
en base 23 :  6

ou bien plus propre, plus court et plus rapide :

from math import(log)

L,n=[2,3,10,15,23],33554432
print "Longueur de",n
for bs in L:
    print "en base","%2i" % bs,":","%2i" %(int(log(n)/log(bs))+(n>=bs))

Je testerai demain si avec ça et en partant de 1 on trouve le bon nombre...  Un peu de suspense ! ^_^

Pour ce soir, Morphée m'attend...

@+

yoshi
06-05-2014 15:02:32

Re,

le prog de pipo est faux au delà de la base 10 : c'est dans la fonction que ça coince...

La preuve
def base(n,b):
    r=0
    c=""
    while n>0:
        r=n%b
        c=c+str(r)
        n=n//b
    return len(c)

b=33554432
L=[2,3,10,15,23]
print "Longueur de",b
for bs in L:
    c=base(b,bs)
    print "en base","%2i" % bs,":","%2i" % c

Et les sorties:

Longueur de 33554432
en base  2 : 26
en base  3 : 16
en base 10 :  8
en base 15 : 10
en base 23 :  9

@+

tibo
06-05-2014 14:35:54

Salut,

Dans le programme de pipo, ne faudrait-il pas plutôt mettre des "ou" à la place des "et"?

Jeff
30-04-2014 18:41:52

Oui, yoshi !
La réponse est bonne.
Vraiment très fort !
Merci.

yoshi
30-04-2014 09:50:55

Re,

Hello Jeff ? Toujours vivant ?

@+

freddy
27-04-2014 17:02:06

Salut,

je suis OK avec yoshi !

yoshi
27-04-2014 13:13:04

Bonjour,

Mon raisonnement

Je suis le plus petit dans mon genre

Je suis donc parti de la base 2 : le plus petit nombre à  26 chiffres en base 2 est 10000000000000000000000000...
En base 3  :  2100010202000202  --> : 16  chiffres
En base 10 : 33554432 --> 8 chiffres
en base 15 : 2E2C0C2  --> 7 chiffres
En base 23 : 54KIL8     --> 6 chiffres

Et la réponse à donner en base 16 est : 2000000

Pourquoi ai-je la quasi-certitude (99,9 %) que ce soit le bon résultat ?
Aucune des autres "écritures" en base autre que 2 n'est le plus petit nombre, mais si je remplace leur 2 ou le 8 final par 1 ou 7, ces écritures gardent le même nombre de "chiffres", par contre le nombre écrit en base 2 n'en a plus lui que 25...
C'est pourquoi je suis parti de la base 2.
Donc aucune autre écriture "unique en son genre" dans les autres bases avec le nombre de chiffres demandé, ne donne une écriture à 26 chiffres en base 2.
Cela dit, quel que soit le nombre, il est unique...  en son genre !

@+

pipo
27-04-2014 13:01:00
correction du 1er test

salut j'ai réessayé le programme je m'étais trompé en entrant les bases lors du premier essai ;je trouve 43046720 il contient 8 chiffre en base 10 ,26 en base 2 ,16 en base 3,7 en base 15et 6 en base 23 [

jpp
27-04-2014 12:11:55

salut.

totomm

qu'en penses-tu? la question est bizarrement écrite "hexactement"         [tex]2^{25}[/tex] s'écrirait 2.000.000  en base 16, toujours en considérant que [tex]2^{25}[/tex] est le plus petit nombre contenant 26 chiffres en binaire

la réponse attendue devrait sans doute être exprimée en base 16

pipo
27-04-2014 11:01:20
totomm a écrit :

Bonjour,

Le nombre donné par Pipo devrait s'écrire avec 8 chiffres puisqu'il est écrit en base 10 !

ah oui c'est vrai je ne sais pas pourquoi je n'y ai pas fait attention !mais un simple petit correctif pourrait rendre le petit programme viable (je ne peux le tester car je ne suis pas chez moi )

totomm
27-04-2014 08:05:58

Bonjour,

Le nombre donné par Pipo devrait s'écrire avec 8 chiffres puisqu'il est écrit en base 10 !

pipo
26-04-2014 21:49:59

salut

idée

 
personnellement j'ai utilisé la methode brute , j'ai créé un petit programme sur python (ps il peut y avoir des fautes parce que je suis un petit peu pressé mais le principe est bon )
def base(n,b):
    r=0
    c=[]
    while n>0:
        r=n%b
        c=c+[r]
        n=n//b
    return len(c)

a=0
while base(a,23)!=6 and base(a,15)!=7 and base(a,10)!=8 and base(a,3)!=16 and base(a,2)!=26:
    a=a+1
bref je trouve a=6436343
le code n'est pas du tout optimisé et il est super long mais voila j'espere juste t'avoir aidé a comprendre le principe bonne chance

totomm
26-04-2014 20:48:02

Bonsoir,

proposition

[tex]2^{25} = 33554432[/tex]

Jeff
26-04-2014 15:37:49

Bonjour aux amatheurs de ce forum,
Je n'ai pas la solution à ce problème, pire, je ne vois pas comment faire pour aborder sa résolution...


Il faut 6 chiffres pour m'écrire en base 23
Il faut 7 chiffres pour m'écrire en base 15
Il faut 8 chiffres pour m'écrire en base 10
Il faut 16 chiffres pour m'écrire en base 3
Il faut 26 chiffres pour m'écrire en base 2
Et je suis le plus petit dans mon genre.

Qui suis-je hexactement ?

Merci de votre aide.

Pied de page des forums