Eine Funktion, die eine Liste von Zahlen erwartet. Die Funktion soll das Produkt der Elemente an den durch 5 teilbaren

Dosenoeffner

Mitglied
Ich muss zwar in der Programmiersprache Golang programmieren aber es wird mir auch helfen den Code oder die Idee in Java zu verstehen

Hier die Frage nchmal Ganz:
Schreiben Sie eine Funktion multfive(), die eine Liste von Zahlen erwartet.
Die Funktion soll das Produkt der Elemente an den durch 5 teilbaren Positionen zurückliefern.

func Example_01_arrays() {
v1 := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} // Produkt: 1*6*11 == 66
v2 := []int{12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1} // Produkt: 12*7*2 = 168
v3 := []int{3, 29, 4, 0, 42, 2, 38} // Produkt: 3*2 = 6
v4 := []int{} // Leere Liste, Produkt sollte 1 sein

[CODE title="Programmiersprache GO"]func main (){
v1 := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
fmt.Println(multfive(v1))
}
func multfive(liste []int) int {
for i := 0 ; i <= len(liste) ; i += 5{
result := liste[0] * liste[i + 5]
fmt.Println(result)
}
return 0[/CODE]

Falls hier Niemand GO versteht, kann man mir auch eine Grobe idee schreiben wie das gehen könnte.

Und ich verstehe leider immer noch nicht genau wie man mit return genau arbeitet.
 

mihe7

Top Contributor
Naja, Du hast ein result, das wäre zunächst mal 1. Dann multiplizierst Du das bisherige result mit jedem 5. Element und weist das Ergebnis jeweils wieder result zu. Am Ende gibst Du das Ergebnis mit return result zurück.

Ausgeschrieben:
Code:
result := 1
result = result * 1
result = result * 6
result = result * 11
return result
würde also 66 liefern...
 

Dosenoeffner

Mitglied
Naja, Du hast ein result, das wäre zunächst mal 1. Dann multiplizierst Du das bisherige result mit jedem 5. Element und weist das Ergebnis jeweils wieder result zu. Am Ende gibst Du das Ergebnis mit return result zurück.

Ausgeschrieben:
Code:
result := 1
result = result * 1
result = result * 6
result = result * 11
return result
würde also 66 liefern...
Danke für die Antwort Jetzt müsste es stimmen oder

Code:
package main

import "fmt"

/* AUFGABENSTELLUNG:
Schreiben Sie eine Funktion multfive(), die eine Liste von Zahlen erwartet.
Die Funktion soll das Produkt der Elemente an den durch 5 teilbaren Positionen zurückliefern.
*/
func main (){
    v1 := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
    fmt.Println(multfive(v1))
}
func multfive(liste []int) int {
    result := 1
    for i := 0 ; i <= len(liste) ; i += 5{
        result = liste[i] * result

    }
    return result
}
 

Neue Themen


Oben