>>> Terrible dilemme !!!!
Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

>>> Terrible dilemme !!!!



  1. #1
    SPH

    Angry >>> Terrible dilemme !!!!


    ------

    J'ai un probleme insoluble alors, je vous le soumet :
    Imaginez 8 cases mis bout a bout (cette construction, on l'appelera "casier"). Imaginez que vous possedez de tres nombreux casiers. Mettez tous ces casiers en ligne (bout a bout koi).
    Dans chaque case (pas casier hein , case !), il y a un chiffre. En l'occurence, tous ces chiffres sont dans l'ordre et sont tous impair. C'est a dire que le premier casier est constitué de :
    case 0 = 1
    case 1 = 3
    case 2 = 5
    case 3 = 7
    case 4 = 9
    case 5 = 11
    case 6 = 13
    case 7 = 15
    On vois donc 8 cases numéroté de 0 a 7 et contenant les chiffres impairs allant de 1 a 15.
    ce casier est le numero 0.
    Le casier qui suit est le numero 1 et possede aussi 8 case numeroté de 0 a 7 mais rempli de la suite de chiffres impairs; c'est a dire : 17, 19, 21, 23, 25, 27, 29, 31.
    Etc, etc, etc...
    Maintenant, on ferme toutes les cases; donc, on ne peux pas utiliser les chiffres qu'elles contiennent.
    Alors, en utilisant uniquement les numero de cases (de 0 a 7) et les numero de casiers (de 0 a l'infini), est il possible de trouver une formule qui permette de trouver quelle case correspond au carré du chiffre dans une case predefinie ? (par exemple : quel est la case/casier correspondant au carré du chiffre de la case 3 du casier 0)
    Mon probleme, c'est que je cherche une formule qui ne multiplie JAMAIS les cases par un quelconque nombre. Les casiers, eux, peuvent subire des multiplications (les additions et soustractions sont autorisé pour tout ce que vous voulez).

    Ce probleme est lié a un programme informatique que je realise mais il faut a tout prix eviter les OVERFLOW (nombres plus grand que 32 bits). Donc, seules les cases ne peuvent pas se faire multiplier

    Merci beaucoup a celui qui trouvera !!!

    -----

  2. #2
    invite3d7be5ae

    Re : >>> Terrible dilemme !!!!

    Citation Envoyé par SPH
    .............................. .............................. .........
    Alors, en utilisant uniquement les numero de cases (de 0 a 7) et les numero de casiers (de 0 a l'infini), est il possible de trouver une formule qui permette de trouver quelle case correspond au carré du chiffre dans une case predefinie ? (par exemple : quel est la case/casier correspondant au carré du chiffre de la case 3 du casier 0).
    .............................. .............................. ..........................
    Le carré du chiffre? Quelle chiffre?

    Tu peux pas reformuler ta question?

  3. #3
    g_h

    Re : >>> Terrible dilemme !!!!

    Voici ce que j'ai trouvé :

    Soit n le n° du casier (je pars de 0)
    Et soit c le n° de la case
    Soit r le reste de la division euclidienne de 2c²+2c par 8
    Soit q le quotient de la division euclidienne de 2c²+2c par 8

    Le carré du nombre de la case c dans le casier n se trouve dans la case r au casier 32n²+2nc+2n+q


    Je ne vois pas comment ne pas faire de multiplications, car de toute façon si tu as un overflow, c'est que tu ne peux pas stocker le n° du casier dans une variable, donc le problème est insoluble de quelque manière que ce soit.

  4. #4
    SPH

    Re : >>> Terrible dilemme !!!!

    Citation Envoyé par g_h
    Je ne vois pas comment ne pas faire de multiplications, car de toute façon si tu as un overflow, c'est que tu ne peux pas stocker le n° du casier dans une variable, donc le problème est insoluble de quelque manière que ce soit.
    Le N° de casier maxi est en fait 1 (voir 2) milliard donc, ca ne fait pas overflow. Alors, si tes formules permettent de ne jamais depasser 2 milliards dans une quelconque operation, c'est que tes formules remplissent parfaitement leur role.
    Ceci dit, je n'ai pas verifié car je viens de passer a une technique qui permet de faire des calculs en plus de X millions de bits (excepté pour les divisions que je n'utilise pas donc ca va)

  5. A voir en vidéo sur Futura
  6. #5
    g_h

    Re : >>> Terrible dilemme !!!!

    Citation Envoyé par SPH
    Le N° de casier maxi est en fait 1 (voir 2) milliard donc, ca ne fait pas overflow. Alors, si tes formules permettent de ne jamais depasser 2 milliards dans une quelconque operation, c'est que tes formules remplissent parfaitement leur role.
    Ah ok, et bien ce que je t'ai donné doit marcher alors.

    Citation Envoyé par SPH
    Ceci dit, je n'ai pas verifié car je viens de passer a une technique qui permet de faire des calculs en plus de X millions de bits (excepté pour les divisions que je n'utilise pas donc ca va)
    C'est dommage d'y aller "à la bourrin", puisque tu avais une solution plus astucieuse (et plus rapide je pense, enfin ça dépend de ce que utilises)

  7. #6
    invite3d7be5ae

    Re : >>> Terrible dilemme !!!!

    Et pour X=+infini tu fais comment?

  8. #7
    SPH

    Re : >>> Terrible dilemme !!!!

    Citation Envoyé par Pole
    Et pour X=+infini tu fais comment?
    .....q'une question de temps, ce n'est.....

  9. #8
    SPH

    Re : >>> Terrible dilemme !!!!

    g_h : je vais prendre ta methode en fin de compte.
    mais peut tu expliquer ce que c'est qu'une division euclidienne ?

    prenons le cas de la case 3 du casier 0 (dedans, il y a le chiffre 7).

    alors, que donne :
    "Soit r le reste de la division euclidienne de 2c²+2c par 8"

    thx

  10. #9
    SPH

    Re : >>> Terrible dilemme !!!!

    Pour le carré, c'est bon, ca marche. Mais qui pourrait m'indiquer comment trouver la case/casier du produit de 2 nombres en respectant ce qui est dit au post N°1 ?

  11. #10
    SPH

    Re : >>> Terrible dilemme !!!!

    g_h doit etre parti en vacances. Alors je fais appel aux autres pour me dire comment procéder avec la methode de g_h pour trouver la case/casier de 2 cases differentes que l'on multiplierait.
    C'est important, j'en ai besoin. Merci

  12. #11
    g_h

    Re : >>> Terrible dilemme !!!!

    Salut,

    soit un nombre a, qui est dans la case c au casier n
    soit un nombre b, qui est dans la case c' au casier n'

    Soit q le quotient de la division euclidienne de 2cc' + c + c' par 8
    Soit r le reste de la division euclidienne de 2cc' + c + c' par 8

    Le nombre a*b se trouve à la case r dans le casier 16nn' + 2c'n + 2cn' + n + n' + q

    Tu te demandes pêut-être comment je m'y suis pris pour trouver ça :
    tout nombre impair peut être décomposé en 16n + 2c + 1 où n est le n° du casier et c le numéro de la case, donc avec

    Il suffit donc de calculer le produit des deux nombres en les mettant sous cette forme, et on retrouve un membre divisible par 16, et un autre membre divisible par 2. Il faut ensuite faire la division euclidienne de ce membre par 8 pour trouver un nombre compris entre 0 et 7 (le reste) et ajouter le quotient au membre divisible par 16.

  13. #12
    SPH

    Re : >>> Terrible dilemme !!!!

    Je te remercie ENORMEMENT

  14. #13
    g_h

    Re : >>> Terrible dilemme !!!!

    Citation Envoyé par g_h
    Voici ce que j'ai trouvé :

    Soit n le n° du casier (je pars de 0)
    Et soit c le n° de la case
    Soit r le reste de la division euclidienne de 2c²+2c par 8
    Soit q le quotient de la division euclidienne de 2c²+2c par 8

    Le carré du nombre de la case c dans le casier n se trouve dans la case r au casier 32n²+2nc+2n+q


    Je ne vois pas comment ne pas faire de multiplications, car de toute façon si tu as un overflow, c'est que tu ne peux pas stocker le n° du casier dans une variable, donc le problème est insoluble de quelque manière que ce soit.

    Heu, en fait, pour le carré, le casier n'est pas le 32n²+2nc+2n+q mais le 16n²+4nc+2n+q
    Désolé pour cette bourde (je ne m'en suis même pas apreçu en faisant le a*b...)

  15. #14
    SPH

    Re : >>> Terrible dilemme !!!!

    Exact, je revenais ici pour te dire qu'il y avait une erreur mais je vois que tu l'as corrigé.

Discussions similaires

  1. [PM 107] Image terrible
    Par invite92276dd8 dans le forum Physique
    Réponses: 12
    Dernier message: 15/05/2007, 13h28
  2. Le DVD de Hubble : Terrible !!!
    Par mtheory dans le forum Archives
    Réponses: 6
    Dernier message: 05/02/2007, 22h30
  3. chaudiere murale de dietrich pas terrible ??????
    Par invite7839a539 dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 2
    Dernier message: 20/09/2006, 21h27
  4. Image pas terrible
    Par inviteb6d0d3c6 dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 6
    Dernier message: 12/06/2005, 23h15