Inscription / Connexion Nouveau Sujet

1 2 +


Niveau 2 *
Partager :

DEFI 163 : Sur le bout des doigts...**

Posté par
minkus Posteur d'énigmes
20-05-07 à 11:14

Bonjour,

DEFI 163 : Sur le bout des doigts...

Il s'agit de trouver le nombre binaire le plus court possible contenant une fois et une seule chacun des huit triplets binaires suivants (pas forcément dans cet ordre) :

111  000  010  001  011  100  110  101

Bonne réflexion.

minkus

PS : Le nombre binaire en question peut commencer par un 0.

Posté par nobody (invité)re : DEFI 163 : Sur le bout des doigts...** 20-05-07 à 12:24

Bonjour,

il y a plusieurs solutions à 10 chiffres (pas en moins), mais voilà l'une d'entre elles:

1 0 0 0 1 1 1 0 1 0

Posté par
Nofutur2
re : DEFI 163 : Sur le bout des doigts...** 20-05-07 à 12:27

gagnéLe nombre binaire à trouver comprend impérativement 10 bits.
Il y a plusieurs solutions et l'une d'entre elles est :
1     0     0     0     1     0     1     1     1     0

Posté par
plumemeteore
re : DEFI 163 : Sur le bout des doigts...** 20-05-07 à 12:46

gagnébonjour
le nombre le plus court à dix bits : 0100011101 ou 1011100010 ou 0111010001 ou 1000101110

Posté par
davidlab
re : DEFI 163 : Sur le bout des doigts...** 20-05-07 à 15:10

gagnéJe ne sais pas si je comprends bien la question. Ce qu'on veut optimiser ici, c'est le nombre de caractères. Le nombre doit contenir une et une seule fois chacun des 8 triplets... j'imagine que 3 caractères adjacents forment un triplet et qu'un même caractère peut faire partie de plusieurs triplets (overlap).

Si c'est bien ça, on y arrive aisément avec 10 caractères, ce qui est le minimum nécessaire pour former 8 triplets.

0111000101

Posté par
jamo Moderateur
re : DEFI 163 : Sur le bout des doigts...** 20-05-07 à 16:16

gagnéBonjour,

je propose le nombre binaire 0001011100, qui correspond au nombre décimal 92.

DEFI 163 : Sur le bout des doigts...

Posté par shrekoun (invité)Euh... 20-05-07 à 18:14

perduBonjour.

Bon moi je propose 000001010011100101110111
(j'espère que mon nombre n'est pas hasbeen(air)...ça c'était pour la blague du jour)

Posté par
dhalte
sur le bout des doigts 20-05-07 à 20:18

gagnéLongueur 10
Par exemple 0001011100

si on prend les tranches successives de 3 digits, on obtient bien les 2^3=8 nombres binaires de 3 digits.
000 001 010 101 011 111 110 100

La solution la plus courte fait au minimum 10 digits puisqu'il faut 2^3+(3-1) digits pour former les 2^3 tranches de 3 digits. Donc nous avons bien la longueur la plus courte.

Il n'y a pas qu'une seule solution.
On constitue à partir de la suite précédente une suite qui boucle sur elle même de 8 digits
00010111
on la découpe en deux parties quelconques
00010 111
on la lit à partir du deuxième brin
111 00010
on brise la boucle en dupliquant les deux premiers digits à la fin
111 00010 11
çà donne
1110001011
et les 8 tranches de 3 digits donnent
111 110 100 000 001 010 101 011

Questions subsidiaires :
peut on généraliser à une longueur quelconque des n-uplets ?
peut on généraliser à une base quelconque, et pas seulement en base 2 ?

Posté par
simon92
re : DEFI 163 : Sur le bout des doigts...** 20-05-07 à 21:41

perduje dirais: 000 001 010 011 100 101 110 111
sans certitude
...

Posté par Mcs (invité)re : DEFI 163 : Sur le bout des doigts...** 20-05-07 à 22:28

gagné0111010001.
10 digits sont nécessaires (sinon les 8 n'y seront pas) et suffisants (sinon on peut former 9 triplets donc un répété)

Posté par
frenicle
re : DEFI 163 : Sur le bout des doigts...** 21-05-07 à 12:07

gagnéBonjour Minkus,

Je propose : 0111010001

Cordialement
Frenicle

Posté par gal0_o (invité)première fois que je tente de jouer... 21-05-07 à 15:06

gagné10 chiffres
0111010001
1011100010

Posté par
torio
Défi 163 Sur le bout des doigts 21-05-07 à 16:40

gagnéIl me semble que le nombre le plus court doit avoir au moins 10 chiffres.

J'en ai trouvé 16 :

0 0 0 1 0 1 1 1 0 0   Le plus petit
0 0 0 1 1 1 0 1 0 0
0 0 1 0 1 1 1 0 0 0
0 0 1 1 1 0 1 0 0 0
0 1 0 0 0 1 1 1 0 1
0 1 0 1 1 1 0 0 0 1
0 1 1 1 0 0 0 1 0 1
0 1 1 1 0 1 0 0 0 1
1 0 0 0 1 0 1 1 1 0
1 0 0 0 1 1 1 0 1 0
1 0 1 0 0 0 1 1 1 0
1 0 1 1 1 0 0 0 1 0
1 1 0 0 0 1 0 1 1 1
1 1 0 1 0 0 0 1 1 1
1 1 1 0 0 0 1 0 1 1
1 1 1 0 1 0 0 0 1 1   Le plus grand

Question longueur, ils ont tous 10 Chiffres.

A+
Francesco

Posté par
Tolokoban
Une proposition 21-05-07 à 17:36

gagnéJe propose 0111000101 qui contient 10 chiffres.

Faut-il tenter de donner une démonstration
du fait que la solution soit optimale ?

Pour cette proposition, je ne sais absolument pas
si c'est la meilleure...

Posté par
ETcsPLAYER
re : DEFI 163 : Sur le bout des doigts...** 21-05-07 à 19:04

perdu000 001 010 011 100 101 110 111

Posté par
lucas951
re : DEFI 163 : Sur le bout des doigts...** 21-05-07 à 20:26

J'ai pas vraiment la JFF, mais j'essaie :

000  001  010  011  100  101  110  111  

Notez bien que je ne suis pas sûr, et je demande à ne pas être noté s'il vous plaît.

Merci de ton indulgence Minkus.

Posté par
lo5707
re : DEFI 163 : Sur le bout des doigts...** 22-05-07 à 12:37

gagnébonjour,

je trouve 2 solutions:
0101110001  et  1011100010

merci pour cette énigme

Posté par
gloubi
re : DEFI 163 : Sur le bout des doigts...** 22-05-07 à 13:17

gagnéBonjour,

Une solution avec 10 chiffres: 0001011100

avec successivement: 000  001  010  101  011  111  110  100

A+

Posté par MrTimber (invité)re : DEFI 163 : Sur le bout des doigts...** 22-05-07 à 15:11

gagnéminimum 10 digits
ex:
0111010001
1000101110
0100011101
1000111010
0111000101
1011100010

Posté par
Tolokoban
Programme JAVA de recherche exhaustive de solution 22-05-07 à 15:31

gagnéBonjour,

Voici un programme JAVA qui affiche toutes les solutions au problème posé.
Ca ne prend que quelques secondes car il suffit de vérifier 8! = 40320 configurations.
En effet, on a 8! façons d'ordonner les 8 mots de 3 bits du problème.

Trève de bavardage, voici le programme à mettre dans un fichier Main.java

package shorterbitword;

import java.util.ArrayList;

public class Main {
    private String solution = "";
    private long size = 150000;
    private long counter = 0;
    
    public Main() {
    }
    
    public void compute(ArrayList<String> list) {
        if (list.size()==1) {
            // Cette liste est un singleton.
            // On arrive donc au bout de notre récursion
            counter++;
            append( list.get(0) );
            if (solution.length() <= size) {
                size = solution.length();
                System.out.println(solution + "  (" + size + ")");
                solution = "";
            }
        } else {
            for (int i=0; i<list.size(); i++) {
                String backup = solution;
                ArrayList<String> clonedList;
                append( list.get(i) );
                clonedList = (ArrayList<String>) list.clone();
                clonedList.remove(i);
                compute( clonedList );
                solution = backup;
            }
        }
    }
    
    private void append(String item) {
        if (solution.length() < 3) {
            solution = item;
        } else {
            for (int i=item.length()-1; i>=0; i--) {
                String leftPart = item.substring(0, i+1);
                String rigthPart = solution.substring(solution.length() - i - 1);
                if (rigthPart.equals(leftPart)) {
                    if (i < item.length()-1) {
                        solution = solution + item.substring(i+1);
                    }
                    return;
                }
            }
            solution = solution + item;
        }
    }
    
    private void finish() {
        System.out.println("Nb checks: " + counter);
    }

    public static void main(String[] args) {
        // TODO code application logic here
        Main main = new Main();
        ArrayList<String> list = new ArrayList<String>(8);
        list.add("000");
        list.add("001");
        list.add("010");
        list.add("011");
        list.add("100");
        list.add("101");
        list.add("110");
        list.add("111");
        main.compute(list);
        main.finish();
    }    
}

Posté par
Eric1
re : DEFI 163 : Sur le bout des doigts...** 22-05-07 à 18:40

gagnéLe nombre binaire le plus court contient 10 chiffres: 0111000101 par exemple

Posté par
Mathieucote
Sur le bout des doigts 22-05-07 à 19:23

gagné??
je ne suis pas certain de bien comprendre la question...
ca me semble trop facile pour une question de deux étoiles...

si jamais j'ai bien compris, je dirais que le nombre binaire le plus court possible contenant une fois et une seule chacun des huit triplets binaires est le meme que le plus long... c'est à dire qu'il possède 10 chiffre

ex : 1000111010
ou   0111000101

s'il y avait un nombre binaire de 11 chiffres, il y aurait un triplet qui serait contenu 2 fois... ce qui ne respecterait pas l'énoncé...

en espérant ne pas me retrouver avec un poisson!
mathieu

Posté par savoie (invité)re : DEFI 163 : Sur le bout des doigts...** 23-05-07 à 09:09

gagnéBonjour,

Voici ma proposition :

0010111000

Merci pour cette énigme

Posté par
rezoons
re : DEFI 163 : Sur le bout des doigts...** 23-05-07 à 16:58

gagnéle plus petit nombre est 92

0001011100

Posté par
thomas
re : DEFI 163 : Sur le bout des doigts...** 24-05-07 à 21:38

gagnéje trouve
1000101110

Posté par
chaudrack
re : DEFI 163 : Sur le bout des doigts...** 25-05-07 à 13:19

gagnéBonjour, et merci pour cette énigme

J'ai considéré que la solution optimale devait contenir 10 chiffres 0 où 1 au minimum pour contenir 8 triplets de 3 chiffres, et j'ai trouvé 8 solutions.

En voici deux:

1000101110 qui montre 100 000 001 010 101 011 111 et 110



1110100011 qui montre 111 110 101 010 100 000 001 et 011

Voili voilou

@ plus, Chaudrack

Posté par
smil
re : DEFI 163 : Sur le bout des doigts...** 25-05-07 à 16:10

gagnébonjour
si j'ai bien compris, je propose
1011100010

Posté par
ben314-2
re : DEFI 163 : Sur le bout des doigts...** 25-05-07 à 17:36

gagnéUn des nombres: 1010001110
Il y en a plein d'autres, mais vu qu'on ne le demande pas...

Posté par
evariste
re : DEFI 163 : Sur le bout des doigts...** 25-05-07 à 19:10

gagnéJe propose par exemple :
0001011100
soit dix chiffres,
je crains le piège!

Posté par
omblechevalier
re : DEFI 163 : Sur le bout des doigts...** 25-05-07 à 20:59

gagnéJe tenterais bien 1011100010, sachant que la solution en inversant les 1 et les 0 doit marcher aussi.

Merci pour l'énigme.

Posté par
manpower
re : DEFI 163 : Sur le bout des doigts...** 27-05-07 à 10:17

gagnéBonjour,

La taille minimale étant de 10 chiffres (chevauchement de deux chiffres sur trois), je propose le nombre : \red \rm 0001011100 (soit 92 en décimal)
Vérification:
0001011100
000
_001
__010
___101
____011
_____111
______110
_______100

(NB: S'il peut commencer par un zéro, le nombre doit pouvoir commencer par 3 zéros...)

Merci pour l'énigme.

Posté par
TiT126
re : DEFI 163 : Sur le bout des doigts...** 28-05-07 à 12:17

perduje crois que je n'ai pas trés bien compris l'énigme mais je vais repondre :

4$\textrm\red\fbox{000 001 010 011 100 101 110 111}_{=(342391)_{10}}

Voila^^

Posté par
Ytreza
re : DEFI 163 : Sur le bout des doigts...** 28-05-07 à 13:24

perduMa question est : qu'est ce qu'un nombre binaire =) ...

Posté par
iker
re : DEFI 163 : Sur le bout des doigts...** 28-05-07 à 13:55

gagnéBonjour,
je ne sais pas si j'ai bien compris.
ma réponse est : \red \fbox{1000111010}
où l'on retrouve les triplets dans l'ordre suivant :
100 000 001 011 111 110 101 010    

Posté par darkinou (invité)re : DEFI 163 : Sur le bout des doigts...** 28-05-07 à 16:25

perduJe trouve : 000 001 010 011 100 101 110 111

Posté par Gtmath (invité)DEFI N°163:Sur le bout des doigts... 28-05-07 à 18:31

perduBonjour,
Je n'en suis pas sûr à 100% puisque je ne suis selement en 4ième primaire. Mais bon je vais essayer.
D'après moi si l'ont dit "le plus court possible" ça sinifie,pour moi, "celui qui a le moin de valeur" donc ça serais: 000 001 010 011 100 101 110 111
Bonne journée
P.S.
J'éspère avoir un

Posté par jmaths (invité)re : DEFI 163 : Sur le bout des doigts...** 28-05-07 à 22:12

gagnéIl est clair qu'une solution nécessite au moins dix chiffres et on en trouve une : 1000101110 soit dans l'ordre : 100 000 001 010 101 011 111 110.

Posté par
geo3
re : DEFI 163 : Sur le bout des doigts...** 29-05-07 à 21:23

gagnéBonjour
Je ne trouve pas moins que 10 chiffres (0 et 1)
Exemples :   1000111010  ;  0101110001  ;  1011100010  ;  0011101000.
pour lesquels on retrouve 1 seul fois 111  000  010  001  011  100  110  101 .
A+

Posté par
mitchXIV
*challenge en cours* 29-05-07 à 22:20

gagnébonsoir,
je ne suis pas sûr, mais si j'ai bien compris 0001110100 est une possibilité
a+

Posté par ascol (invité)DEFI 163 : Sur le bout des doigts... 30-05-07 à 12:00

gagnéBonjour,

je propose 0111000101.

Posté par
Alkéos
re : DEFI 163 : Sur le bout des doigts...** 30-05-07 à 21:43

gagné0111000101

Posté par
master_och
re : DEFI 163 : Sur le bout des doigts...** 01-06-07 à 10:17

gagnésalut
j'espere que je me trompe pas, je pense que le(s) plus courts nombres binaires en question sont composés de 10 chiffres, le plus petit sera: 0001011100.
merci pour l'énigme

Posté par
tilee
réponse présumée 01-06-07 à 20:37

perduje pense qu'il s'agit de la combinaison suivante : 1100011101

Posté par
Thibs
re : DEFI 163 : Sur le bout des doigts...** 02-06-07 à 14:28

gagné0100011101

Posté par aliénor (invité)challenge en cour 02-06-07 à 16:09

perdule binaire est regroupé généralement par paquet de quatre:
0000 0101 0011 1001 0111 0111

Posté par
minkus Posteur d'énigmes
re : DEFI 163 : Sur le bout des doigts...** 04-06-07 à 16:04

Bonjour,

Je cloture cette énigme et le mois de mai par la même occasion.

Il fallait bien 10 "digits" au moins pour obtenir les 8 triplets.

>Tilee: Desolé mais ta solution comporte deux fois la séquence 110.

Mais oui bien sur que j'ai vérifié toutes les solutions !!

minkus

Posté par
lucas951
re : DEFI 163 : Sur le bout des doigts...** 04-06-07 à 16:30

Merci pour ne pas m'avoir compté faux, comme je demandais.

Posté par nobody (invité)re : DEFI 163 : Sur le bout des doigts...** 04-06-07 à 17:08

Citation :
Il fallait bien 10 "digits" au moins pour obtenir les 8 triplets.

Si je ne me trompe pas, il n'y a que des solutions à 10 "digits": tout ajout de digit implique nécessairement la redite d'un triplet, non ?

Posté par
ETcsPLAYER
re : DEFI 163 : Sur le bout des doigts...** 04-06-07 à 17:55

perduje n'ai toujours pas compris comment il peut y avoir plusieurs solut° si il s'agit de trouver le plus petit nombre: il ne peut y en avoir qu'un seul, pas deux ??!?

Posté par
master_och
re : DEFI 163 : Sur le bout des doigts...** 04-06-07 à 17:58

gagnéon nous a demandé de determiner le plus court nombre et non pas le plus petit .

1 2 +


Challenge (énigme mathématique) terminé .
Nombre de participations : 0
:)0,00 %0,00 %:(
0 0

Temps de réponse moyen : 115:32:41.


Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !