Я пытаюсь написать функцию, которая принимает 2 натуральных числа и печатает каждое простое число между ними, а также включает 2 числа, если они простые.Это то, что у меня есть в настоящее время, но он просто напечатает первое число простое, а остальные нет.Я посмотрел это онлайн и не могу понять, что не так с этим кодом, так как многие другие сайты используют похожую логику.
func printPrimes(from firstNum: Int, to lastNum: Int) {
var newFirstNum = firstNum
if firstNum == 0 {
newFirstNum = 2
}
let numbers = newFirstNum...lastNum
// Goes through each number from 2-100 starting from 2.
for number in numbers {
var primeValue = false
let startPoint = 2
let number2 = startPoint...number
// Takes current number and divides by every number from 2 to the given number.
for currentIndex in number2 {
primeValue = false
if number % currentIndex != 0 {
primeValue = true
}
}
if primeValue == false {
print("\(number) is not prime")
} else {
print("\(number) is prime")
}
}
}
Это тип вызова функции, который я использую:
printPrimes(from: 0, to: 100)
Любая помощь будет принята с благодарностью.