Повторение — факториал
Часть раздела Основы путешествия по Swift на Coddy. Урок 47 из 86.
Пора проверить твои навыки работы с циклами! Факториал — классическая задача по программированию, которая отлично подходит для практики с циклами.
Факториал числа n (записывается как n!) — это произведение всех положительных целых чисел от 1 до n. Например:
5!= 5 × 4 × 3 × 2 × 1 = 1203!= 3 × 2 × 1 = 61!= 1
Чтобы вычислить факториал с помощью цикла, начни с результата, равного 1, и умножай его на каждое число в диапазоне:
var result = 1
let n = 5
for i in 1...n {
result *= i
}
print(result) // Вывод: 120Цикл умножает result на 1, затем на 2, потом на 3 и так далее, пока не дойдёт до n. На каждой итерации используется результат предыдущей.
Задание
ЛегкоНапиши функцию factorial, которая принимает n и возвращает факториал этого числа.
Используй цикл, чтобы перемножить все положительные целые числа от 1 до n.
Параметры:
n(Int): положительное целое число (1 или больше)
Возвращает: факториал n (Int)
Например, если n равно 4, функция вычисляет 1 × 2 × 3 × 4 = 24 и возвращает 24.
Попробуйте сами
func factorial(n: Int) -> Int {
// Напишите код здесь
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеПовторение: простая математикаОператоры сравнения7Основы ввода-вывода
Функция printИнтерполяция строкВвод с ReadLineПреобразование типовПовторение: до 120Повторение: истина или ложь2Переменные
Let и VarАннотации типовЧислаСтрокаЛогический типСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Повторение: простая логикаЛогические операторы, часть 3Тернарный оператор8Калькулятор разделения счёта
Приветственное сообщениеВвод данных14Массивы: продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опциональные значения
Что такое опциональные значенияИзвлечение значения с помощью if letGuard letОператор объединения с nilПовторение — безопасное извлечение значения6Принятие решений
Условный оператор ifIf — ElseПовторение: простой калькуляторОператор switchSwitch с диапазонами9Циклы
Цикл for-inЦикл whileЦикл repeat-whileПрерывание циклаПереход к следующей итерацииПовторение — факториалДиапазоны в циклахВложенный циклПовторение — динамический вводПотренируйтесь самостоятельно: Песочница Swift