0 Daumen
336 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. 

Gefragt von

1 Antwort

+1 Punkt
Hallo,

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
Beantwortet von 2,1 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

Ähnliche Fragen

0 Daumen
2 Antworten
0 Daumen
2 Antworten

Willkommen bei der Mathelounge! Stell deine Frage sofort und kostenfrei

x
Made by a lovely community
...