0 Daumen
1,9k Aufrufe

Wie muss ich die Zahlen 6, 11, 17, 19 und 21 zusammenstellen, um 3 zu erhalten.

Es ist vorgegeben, dass ich nur die Grundrechenarten Addition, Subtraktion, Multiplikation und Division benutzen darf. 

Avatar von

1 Antwort

+1 Daumen

Ich habe ein VBA-Programm gemacht, das davon ausgeht, dass die Reihenfolge der Zahlen nicht verändert wird. Dabei bin ich aber nicht auf das Ergebnis 3 gekommen. Das heisst, die Reihenfolge darf auch noch verändert werden? Binden * und / stärker als + und - ?

Hier ist das Programm:

Sub Grundrechenarten()

Z = 0
For p = 1 To 4

  If p = 1 Then a = "=6 + "
  If p = 2 Then a = "=6 - "
  If p = 3 Then a = "=6 * "
  If p = 4 Then a = "=6 / "

  For q = 1 To 4

      If q = 1 Then b = a + "11 +"
      If q = 2 Then b = a + "11 -"
      If q = 3 Then b = a + "11 *"
      If q = 4 Then b = a + "11 /"
   
      For s = 1 To 4
   
          If s = 1 Then c = b + "17 +"
          If s = 2 Then c = b + "17 -"
          If s = 3 Then c = b + "17 *"
          If s = 4 Then c = b + "17 /"
       
          For t = 1 To 4

              If t = 1 Then d = c + "19 + 21"
              If t = 2 Then d = c + "19 - 21"
              If t = 3 Then d = c + "19 * 21"
              If t = 4 Then d = c + "19 / 21"
           
              Z = Z + 1
              ActiveSheet.Cells(Z, 1).Value = d
          Next
   
      Next

  Next

Next
End Sub
Avatar von 2,3 k

Ich habe noch ein Programm geschrieben, das auch die Zahlen vertauscht, bin aber auch dann nicht auf 3 gekommen. Darf man Klammern setzen? Oder muss man immer von links nach rechts rechnen?

Wenn ich von links nach rechts rechne, komme ich auf 14 Möglichkeiten:

(((6+11)/17)-19)+21
(((6+11)/17)+21)-19
(((6+17)-21)*11)-19
(((6-21)+17)*11)-19
(((11+6)/17)-19)+21
(((11+6)/17)+21)-19
(((17-6)/11)-19)+21
(((17-6)/11)+21)-19
(((17+6)-21)*11)-19
(((17-11)/6)-19)+21
(((17-11)*6)+21)/19
(((17-11)/6)+21)-19
(((17-21)+6)*11)-19
(((19-17)*6)+21)/11

Das Programm dazu lautet:

Sub Grundrechenarten()
Dim w(5) As Integer
Dim o(4) As String

Z = 0

w(1) = 6
w(2) = 11
w(3) = 17
w(4) = 19
w(5) = 21

o(1) = "+"
o(2) = "-"
o(3) = "*"
o(4) = "/"

For h1 = 1 To 5
  For h2 = 1 To 5
      If h2 <> h1 Then
          For h3 = 1 To 5
              If h3 <> h1 And h3 <> h2 Then
                  For h4 = 1 To 5
                      If h4 <> h1 And h4 <> h2 And h4 <> h3 Then
                          For h5 = 1 To 5
                              If h5 <> h1 And h5 <> h2 And h5 <> h3 And h5 <> h4 Then
                                  For p = 1 To 4
                                      a = "WENN((((" & w(h1)
                                      a = a & o(p)
                                      For q = 1 To 4
                                          b = a & w(h2) & ")" & o(q)
                                          For s = 1 To 4
                                              c = b & w(h3) & ")" & o(s)
                                              For t = 1 To 4
                                                  D = c & w(h4) & ")" & o(t) & w(h5) & "=3;1;"""")"
                                                  Z = Z + 1
                                                  ActiveSheet.Cells(Z, 1).Value = D
                                              Next
                                          Next
                                      Next
                                  Next
                              End If
                          Next
                      End If
                  Next
              End If
          Next
      End If
  Next
Next
                     
End Sub
Made by a lovely Community