Повторение: Факториал
Часть раздела Основы путешествия по 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.
Шпаргалка
Факториал числа 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Попробуйте сами
func factorial(n: Int) -> Int {
// Напишите здесь код
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеПовторение: Простая математикаОператоры сравнения7Основы ввода-вывода
Функция PrintИнтерполяция строкВвод через ReadLineПреобразование типовПовторение — до 120Повторение — True или False10Функции
Объявление функцииПараметры и аргументыВозвращаемые значенияМетки аргументовПовторение: функция SigmaПовторение: функция валидацииЗначения по умолчанию13Итерирование по последовательностям
Итерирование по элементамМетод enumerateИтерирование по строкам, ч. 1Итерирование по строкам, ч. 22Переменные
Let против VarАннотации типовЧислаСтрокиBooleanСоглашения об именованииИтоги — Инициализация переменных5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение: простая логикаЛогические операторы. Часть 3Тернарный оператор8Калькулятор разделения счета
Приветственное сообщениеПолучение ввода14Массивы: Продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опционалы
Что такое опционалыРазвертывание с помощью if letGuard letОператор объединения с nilИтоги — безопасное развертывание6Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторОператор SwitchSwitch с диапазонами9Циклы
Цикл For-InЦикл WhileЦикл Repeat-WhileBreakContinueПовторение: ФакториалДиапазоны в циклахВложенные циклыПовторение: Динамический ввод