Défi participatif
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 32

Défi participatif



  1. #1
    invite4f35383e

    Défi participatif


    ------

    Je vous propose un petit jeu mathématique :

    Le but est de compter de 0 à 1000 en utilisant les chiffres de 1 à 9

    Régles:

    Les chiffres doivent être dans l'ordre 1, 2, 3, 4, 5, 6, 7, 8, 9

    •Les opérations autorisées sont + - * /

    •Pas de parenthèses

    •Vous avez le droit de coller les chiffres (par exemple 2 et 3 peuvent former 23)

    On vérifie le calcul précédent.

    Une réponse par personne à la fois, c'est un travail d'équipe !

    On peut proposer plusieurs calculs de suite si c'est évident !

    Je commence :

    1*2-3+4-5-6+7-8+9 = 0

    -----

  2. #2
    invite936c567e

    Re : Défi participatif

    –1+2–3–4+5–6+7–8+9 = 1

  3. #3
    invite936c567e

    Re : Défi participatif

    (Puisque c'est un jeu, je ne vais pas tous les donner. Certains sujets récents sur cette problématique ont été traités sur le forum.)

  4. #4
    invite39f39e37

    Re : Défi participatif

    Bonjour,
    1*2+3+4-5+6-7+8-9=2
    Et évidemment:
    1+2+3+4-5+6-7+8-9=3
    (Puisque 3+4-5+6-7+8-9=0)

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

    Re : Défi participatif

    2 et 3

    1+2*3*4-5-6+7-8-9=4

  7. #6
    obi76

    Re : Défi participatif

    Salut,

    910, 990 et 1000 ne sont pas trouvables avec cette méthode

    Allez, je les mets jusqu'à 20 pour faire avancer un peu le truc

    Code:
       1 = 1 * 2 * 3 * 4 - 5 + 6 - 7 - 8 - 9                                                                                                                                                                       
       2 = 1 * 2 * 3 * 4 / 56 * 7 + 8 - 9                                                                                                                                                                          
       3 = 1 * 2 * 3 * 4 - 5 - 6 + 7 - 8 - 9                                                                                                                                                                       
       4 = 1 * 2 * 3 * 4 / 56 * 7 - 8 + 9                                                                                                                                                                          
       5 = 1 * 2 * 3 * 4 - 5 - 6 - 7 + 8 - 9                                                                                                                                                                       
       6 = 1 * 2 * 3 * 4 * 5 - 6 * 7 - 8 * 9                                                                                                                                                                       
       7 = 1 * 2 * 3 * 4 - 5 - 6 - 7 - 8 + 9                                                                                                                                                                       
       8 = 1 * 2 * 3 - 4 * 5 - 67 + 89                                                                                                                                                                             
       9 = 1 * 2 * 3 - 4 - 5 + 6 + 7 + 8 - 9                                                                                                                                                                       
      10 = 1 * 2 * 3 * 4 * 5 / 6 + 7 - 8 - 9                                                                                                                                                                       
      11 = 1 * 2 * 3 * 4 + 5 + 6 - 7 - 8 - 9                                                                                                                                                                       
      12 = 1 * 2 * 3 * 4 * 5 / 6 - 7 + 8 - 9                                                                                                                                                                       
      13 = 1 * 2 * 3 * 4 + 5 - 6 + 7 - 8 - 9                                                                                                                                                                       
      14 = 1 * 2 * 3 * 4 * 5 / 6 - 7 - 8 + 9                                                                                                                                                                       
      15 = 1 * 2 * 3 * 4 * 56 / 7 / 8 - 9                                                                                                                                                                          
      16 = 1 * 2 * 3 * 4 + 56 / 7 / 8 - 9                                                                                                                                                                          
      17 = 1 * 2 * 3 * 4 - 5 + 6 - 7 + 8 - 9                                                                                                                                                                       
      18 = 1 * 2 * 3 * 4 * 5 * 6 - 78 * 9                                                                                                                                                                          
      19 = 1 * 2 * 3 * 4 - 5 - 6 + 7 + 8 - 9                                                                                                                                                                       
      20 = 1 * 2 * 3 * 4 / 56 * 7 + 8 + 9
    Dernière modification par obi76 ; 12/05/2013 à 14h28.
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  8. #7
    invite39f39e37

    Re : Défi participatif

    Bonjour

    1+2-3+4+5+6+7+8-9=21
    1-2+3+4+5+6+7+8-9=23
    1+2-3+4+5+6-7+8+9=25
    1-2+3+4+5+6-7+8+9=27
    -1+2+3+4+5+6-7+8+9=29
    1*2-3+4+5+6+7-8+9=22
    1*2-3+4+5+6-7+8+9=24
    1*2-3+4+5-6+7+8+9=26
    1*2-3+4-5+6+7+8+9=28
    1*2-3-4+5+6+7+8+9=30

  9. #8
    obi76

    Re : Défi participatif

    Je les mets tous ?
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  10. #9
    invite39f39e37

    Re : Défi participatif

    Bonsoir,
    S'il existe une équation pour calculer de 1 à 1000 alors autant la mettre
    Par exemple: 1 représente la multiplication, 2 représente la division, 3 la somme, 4 la différence, 5 c'est le fait de coller deux nombres^^
    Ensuite on trouve 8 équations qui varient de 1 à 5 ( On fait varier les valeurs de l'équation en base 5)
    Donc: 1y2u3i4o5p6q7s8d9 où y u i o p q s d sont les fonctions dont je parlais

  11. #10
    obi76

    Re : Défi participatif

    Oui, mais pour le résoudre il faut un programme, si vous le voulez...
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  12. #11
    invite39f39e37

    Re : Défi participatif

    Bonsoir,
    ah il y a un programme qui fait ça? Qui est l'ingénieux qui a créé cela!?
    Oui je veux bien le nom du programme

  13. #12
    obi76

    Re : Défi participatif

    Citation Envoyé par ._____. Voir le message
    Bonsoir,
    ah il y a un programme qui fait ça? Qui est l'ingénieux qui a créé cela!?
    moi

    Code:
    program test
    implicit none
    ! by obi76 12/05/2013
    ! operators : 0 = link, 1 = +, 2 = -, 3 = /, 4 = *
    integer(8), dimension(8) :: operateurs, O_ori, O_loop
    real(8), dimension(9) :: nombres
    integer(8), dimension(9) :: N_ori
    integer(8), dimension(1000,9,2) :: resultats
    integer :: i, j, iresult
    
    operateurs(1:8) = 0
    O_loop = 0
    
    do while (.not.all(O_loop(1:8)==4))
    O_loop(8) = O_loop(8) + 1 ! boucle pour tester toutes les solutions
    do i = 8, 2, -1
    if (O_loop(i) > 4) then
     O_loop(i) = 0
     O_loop(i-1) = O_loop(i-1) + 1
    endif
    enddo
    operateurs = O_loop
    do i=1, 9
     nombres(i) = i
    enddo
    ! first : link
    do i=1, 8
      do while (operateurs(i) == 0) 
        nombres(i) = nombres(i)*10+nombres(i+1)
        do j = i+1, 8
         nombres(j) = nombres(j+1)
        enddo
        nombres(9) = 0
        do j = i, 7
         operateurs(j) = operateurs(j+1)
        enddo
        operateurs(8) = -1
        enddo
    enddo
    
    N_ori = int(nombres)
    O_ori = operateurs
    
    ! second : /
    do i=1, 8
      do while (operateurs(i) == 3)
        nombres(i) = nombres(i)/nombres(i+1)
        do j = i+1, 8
         nombres(j) = nombres(j+1)
        enddo
        nombres(9) = 0
        do j = i, 7
         operateurs(j) = operateurs(j+1)
        enddo
        operateurs(8) = -1
      enddo
    enddo
    
    ! thirth : *
    do i=1, 8
      do while (operateurs(i) == 4) 
        nombres(i) = nombres(i)*nombres(i+1)
        do j = i+1, 8
         nombres(j) = nombres(j+1)
        enddo
        nombres(9) = 0
        do j = i, 7
         operateurs(j) = operateurs(j+1)
        enddo
        operateurs(8) = -1
      enddo
    enddo
    
    ! final : + and -
    do i=1, 8
      do while (operateurs(i) == 1 .or. operateurs(i) == 2)
        if (operateurs(i) == 1) nombres(i) = nombres(i)+nombres(i+1)
        if (operateurs(i) == 2) nombres(i) = nombres(i)-nombres(i+1)
        do j = i+1, 8
         nombres(j) = nombres(j+1)
        enddo
        nombres(9) = 0
        do j = i, 7
         operateurs(j) = operateurs(j+1)
        enddo
        operateurs(8) = -1
      enddo
    enddo
    
    if (nombres(1)>0 .and. nombres(1)<=1000 .and. nombres(1)-int(nombres(1)) == 0.) then
      resultats(int(nombres(1)),1:8,1) = O_ori
      resultats(int(nombres(1)),1:9,2) = int(N_ori)
    endif
    enddo
    
    
    !! AFFICHAGE DES RESULTATS
    do iresult = 1, 1000
     if (any(resultats(iresult,:,2) /= 0)) then
       call affichage(resultats(iresult,1:9,2), resultats(iresult,1:8,1), iresult)
     else
       write(*,*) 'solution introuvable : ', iresult
     endif
     enddo
    
    contains
    
    subroutine affichage(N, O, iresult)
    implicit none
    integer(8), dimension(8) :: O
    integer(8), dimension(9) :: N
    character(16) :: str
    integer(4) :: iresult
    character(200) :: resultat
    character(3), dimension(4) :: operand
    operand = (/' + ', ' - ', ' / ', ' * '/)
    resultat = ''
    str = ''
    !! printing
    write(str, '(I16)') N(1) !first number
    resultat = trim(adjustl(resultat)) // trim(adjustl(str))
    i = 1
    do while(O(i) /= -1 .and. i < 9)
    if (O(i) /= 0) then
       write(str, '(I8)') N(i+1)
      resultat = trim(adjustl(resultat)) // operand(O(i)) // trim(adjustl(str))
    endif
      i = i + 1
    enddo
    
     write(*,'(I4, A3, A)') iresult , ' = ', resultat
    
     end subroutine
    end program
    Bon j'ai pas trop commenté, je l'ai fait à la va-vite...
    Dernière modification par obi76 ; 12/05/2013 à 22h06.
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  14. #13
    invite4f35383e

    Re : Défi participatif

    Que faut il pour faire tourner ce programme ?

  15. #14
    obi76

    Re : Défi participatif

    un compilateur qui s'appelle gfortran. Après si vous êtes sous windows je ne sais pas.
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  16. #15
    Amanuensis

    Re : Défi participatif

    Pas trop le temps d'analyser le code, mais c'est juste le parcours exhaustif des possibilités?

    ---

    Par ailleurs, l'énoncé est incomplet, il faudrait spécifier les règles de précédence.

    Par exemple

    1 * 2 * 3 * 4 * 5 * 6 - 78 * 9

    peut aussi bien se lire

    (1 *( 2 *( 3 *( 4 *( 5 *( 6 - (78 * (9)))))))) = -83520

    que

    ((((((((1) * 2) * 3) * 4) * 5) * 6) - 78) * 9) =5778

    ou

    (1 * 2 * 3 * 4 * 5 * 6) - (78 * 9) = 18

    ou encore

    1 * 2 * 3 * 4 * 5 * (6 - 78) * 9 =-7776

    (Au passage on voit le choix fait par Obi76...)
    Pour toute question, il y a une réponse simple, évidente, et fausse.

  17. #16
    Amanuensis

    Re : Défi participatif

    PS:

    15 = 1 * 2 * 3 * 4 * 56 / 7 / 8 - 9

    a été parenthésé comme

    15 = (((1 * 2 * 3 * 4 * 56) / 7) / 8) - 9

    et non pas comme

    (1 * 2 * 3 * 4 * 56 / (7 / 8))) - 9

    Les règles utilisées par Obi76 sont:

    Deux classes d'opérateurs, (*, /) et (+, -), avec précédence de la première classe sur la seconde, et groupage par la gauche au sein d'une même classe.
    Pour toute question, il y a une réponse simple, évidente, et fausse.

  18. #17
    obi76

    Re : Défi participatif

    Citation Envoyé par Amanuensis Voir le message
    Pas trop le temps d'analyser le code, mais c'est juste le parcours exhaustif des possibilités?
    Voilà, et ça tourne en 2 ou 3 secondes sur ma machine.

    D'ailleurs je viens de m'apercevoir que le tout premier cas n'est pas calculé (solution triviale cela dit : 123456789). Si on veut tout avoir il faut remplacer

    Code:
    operateurs(1:8) = 0
    O_loop = 0
    par

    Code:
    operateurs(1:8) = (/0,0,0,0,0,0,0,-1/)
    O_loop = (/0,0,0,0,0,0,0,-1/)
    Dernière modification par obi76 ; 13/05/2013 à 10h47.
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  19. #18
    Amanuensis

    Re : Défi participatif

    Et j'ai l'impression (à vérifier) que le - unaire initial n'est pas pris en compte:

    -1-2-3-4-5+6+7+8+9 = 15 par exemple

    (Reste à savoir s'il est autorisé...)
    Dernière modification par Amanuensis ; 13/05/2013 à 10h53.
    Pour toute question, il y a une réponse simple, évidente, et fausse.

  20. #19
    invite936c567e

    Re : Défi participatif

    Citation Envoyé par Amanuensis Voir le message
    Par ailleurs, l'énoncé est incomplet, il faudrait spécifier les règles de précédence.

    Par exemple

    1 * 2 * 3 * 4 * 5 * 6 - 78 * 9

    peut aussi bien se lire (...)
    Il est indiqué que les parenthèses ne sont pas autorisées.

    Par ailleurs, conventionnellement la multiplication est prioritaire devant l'addition et la soustraction. En conséquence il n'y a normalement qu'une seule façon de lire 1×2×3×4×5×6–78×9, et c'est :

    (1×2×3×4×5×6)–(78×9) = 18

  21. #20
    Amanuensis

    Re : Défi participatif

    Citation Envoyé par PA5CAL Voir le message
    Il est indiqué que les parenthèses ne sont pas autorisées.
    Quel rapport avec mon intervention?

    Par ailleurs, conventionnellement
    Oui, conventionnellement. Une convention doit être indiquée, c'est bien ce que j'indique.

    (Perso j'utilise une HP et la RPN, des conventions j'en utilise deux couramment, donc le "normal"...)

    En conséquence il n'y a normalement qu'une seule façon de lire
    Pensée unique = pas de pensée originale...
    Dernière modification par Amanuensis ; 13/05/2013 à 11h11.
    Pour toute question, il y a une réponse simple, évidente, et fausse.

  22. #21
    invite936c567e

    Re : Défi participatif

    Citation Envoyé par Amanuensis Voir le message
    Oui, conventionnellement. Une convention doit être indiquée, c'est bien ce que j'indique.
    J'utilise conventionnellement le caractère 1 pour désigner le nombre « un ». Dois-je pour autant le rappeler à chaque fois ???

    La priorité de la multiplication sur l'addition est une convention de notation qu'on enseigne à l'école primaire et qu'on utilise ensuite partout, jusqu'aux études supérieures, puis dans les bureaux d'étude, les SSII, les entreprises industrielles...

    Si tu penses qu'une autre convention est normalement utilisée dans d'autres circonstances, alors j'aimerais bien que tu m'en fasses part.

  23. #22
    invite936c567e

    Re : Défi participatif

    Citation Envoyé par Amanuensis Voir le message
    Pensée unique = pas de pensée originale...
    Communication originale = incompréhension

  24. #23
    obi76

    Re : Défi participatif

    Citation Envoyé par Amanuensis Voir le message
    Et j'ai l'impression (à vérifier) que le - unaire initial n'est pas pris en compte:

    -1-2-3-4-5+6+7+8+9 = 15 par exemple

    (Reste à savoir s'il est autorisé...)
    Effectivement, il ne l'est pas (bien vu). La flemme de tout refaire là, je l'avoue...
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  25. #24
    obi76

    Re : Défi participatif

    Re,

    effectivement, en comptant les -1, on a les 910 et 990 :
    Code:
    910 = -1 * 2 + 3 + 4 * 5 * 6 + 789                                                                                                                                                                            
    990 = -1 * 23 + 4 * 56 + 789
    Pour 1000, pas de solution quand même
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  26. #25
    Nicophil

    Re : Défi participatif

    Et après 1000, qu'est-ce que ça donne ?
    La réalité, c'est ce qui reste quand on cesse de croire à la matrice logicielle.

  27. #26
    obi76

    Re : Défi participatif

    Je n'ai pas regardé... Vous voulez que je vois ?
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  28. #27
    Nicophil

    Re : Défi participatif

    Oui s.v.p., voir ce que ça donne...
    La réalité, c'est ce qui reste quand on cesse de croire à la matrice logicielle.

  29. #28
    obi76

    Re : Défi participatif

    Voilà :
    En abscisse : tous les entiers de 1 à 1000 000
    En ordonnée le nombre de solution distinctes permettant de trouver ce nombre (en dessous de 1, c'est 0 ^^ )

    Le premier non trouvable : on le voit c'est 1000 (coïncidence ? )

    Graphe1.jpg
    Dernière modification par obi76 ; 15/05/2013 à 20h28.
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  30. #29
    roro222

    Re : Défi participatif

    Citation Envoyé par obi76 Voir le message
    Pour 1000, pas de solution quand même
    Bonjour

    Ha bon, 1000 serait impossible

    Règle N°4
    Vous avez le droit de coller les chiffres (par exemple 2 et 3 peuvent former 23)
    Donc
    1000 = 5 X 2 + 987 - 6 + 13 - 4
    Le nombre d'imbéciles est incalculable,il y a de fortes probabilités que j'en suis

  31. #30
    bobdémaths

    Re : Défi participatif

    Bonjour

    Citation Envoyé par phil4447 Voir le message
    Régles:

    Les chiffres doivent être dans l'ordre 1, 2, 3, 4, 5, 6, 7, 8, 9

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Chantier participatif - Mur Pisé - 49
    Par invitebbd661c1 dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 0
    Dernier message: 06/04/2011, 22h50
  2. proposition chantier participatif
    Par invite71b25aca dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 0
    Dernier message: 11/02/2011, 10h06
  3. calcul participatif.
    Par invite51d17075 dans le forum Discussions scientifiques
    Réponses: 4
    Dernier message: 01/02/2010, 13h40