Перебор массива методом forEach


#1

всем привет есть вот какое вот задание
Напишите программу, которая будет принимать от пользователя целое число и проверять его делимость на простые числа от 2 до 23. Для каждого делителя входного числа выведите сообщение “{x} is divisible by {y}”, где {x} – введённое пользователем число, а {y} – простое число из массива. Если число равно одному из делителей – не выводите сообщение о делимости. Используйте массив для хранения простых чисел. Для проверки делимости используйте перебор массива методом forEach

Пример ввода 1:

12

Пример вывода 1:

12 is divisible by 2

12 is divisible by 3

Пример ввода 2:

33

Пример вывода 2:

33 is divisible by 3

33 is divisible by 11

Пример ввода 3:

17

Пример вывода 3:

Указания:

  • Используйте массив для хранения простых чисел
  • Используйте метод массива forEach для перебора всех простых чисел
  • Используйте оператор if

ваще не получается помогите кто может )


#2

print("Введите число ")
let array = [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]

if let number = readLine(){
if let x = Int(number){
number.forEach { (array) in

        print("\(x) is divisible by \(array)")
    }
    
}

}

Как проверить на делимость не могу понять


#3

Добрый день!

Вам нужно проверить делимость на простые числа, а не все натуральные, от 2 до 23. https://ru.wikipedia.org/wiki/Простое_число

У Int есть метод isMultiple(of:). Попробуйте решить с ним.


#4

делится число на цело или нет - это проверка на делимость


#5

спасибо.Уже решил вот таким способом
print("Введите число: ")

let array = Array(2…23)
if let number = readLine(){
if let x = Int(number){

    array.forEach { (y) in
        if x == y{
            print()
        }
        else  if x % y == 0 {
            print("\(x) is divisible by \(y)")
            
        }
        
    }
    
}

}