Сумма двузначных чисел кратных 8 в последовательности чисел

Условия задачи:

"Напишите программу, которая в последовательности чисел находит сумму двузначных чисел, кратных 8. Программа в первой строке получает на вход число n - количество чисел в последовательности, во второй строке -- n чисел, входящих в данную последовательность."

Мой код:

package main

import "fmt"

func main() {
        var a int
        fmt.Scan(&a)
        var i int = 0

        for a != 0 {
                if (a % 8) == 0 {
                        i += a
                }
        }
        fmt.Println(i)
}

Код не работает вообще. Помогите найти ошибку, благодарю.


Ответы (2 шт):

Автор решения: Denis Stein
package main

import "fmt"


func main() {
    var n int
    fmt.Scanf("%d\n", &n)

    sequence := make([]int, n, n)
    sum := 0
    for i := 0; i < n; i++ {
        fmt.Scanf("%d\n", &sequence[i])
    }

    iterate := func(i int) bool {
        return (i >= 10 && i < 100) && (i%8 == 0)
    }
    for i := 0; i < n; i++ {
        if iterate(sequence[i]) {
            sum += sequence[i]
        }
    }

    fmt.Printf("Sum : %d\n", sum)
}
→ Ссылка
Автор решения: Иван Ковальчук
package main
import "fmt"
func main() {
    var a, n int
    fmt.Scan(&a)
    sum := 0
    for i := 0; i < a; i++ {
        fmt.Scan(&n)
        if n >= 10 && n < 100 && n%8 == 0{
                sum += n}}
        fmt.Println(sum)}
→ Ссылка