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



## Dosenoeffner (5. Dez 2021)

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 (5. Dez 2021)

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:

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


----------



## Dosenoeffner (5. Dez 2021)

mihe7 hat gesagt.:


> 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:
> 
> ...


Danke für die Antwort Jetzt müsste es stimmen oder


```
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
}
```


----------



## mihe7 (5. Dez 2021)

Dosenoeffner hat gesagt.:


> Danke für die Antwort Jetzt müsste es stimmen oder


Probiers aus


----------

