0 Daumen
1,4k 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

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community