Powtórzenie – silnia
Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 47 z 86.
Czas sprawdzić swoje umiejętności w korzystaniu z pętli! Silnia to klasyczny problem programistyczny, który świetnie nadaje się do ćwiczenia pętli.
Silnia liczby n (zapisywana jako n!) to iloczyn wszystkich dodatnich liczb całkowitych od 1 do n. Na przykład:
5!= 5 × 4 × 3 × 2 × 1 = 1203!= 3 × 2 × 1 = 61!= 1
Aby obliczyć silnię za pomocą pętli, zacznij od wyniku równego 1 i pomnóż go przez każdą liczbę z zakresu:
var result = 1
let n = 5
for i in 1...n {
result *= i
}
print(result) // Wynik: 120Pętla mnoży result przez 1, następnie przez 2, potem przez 3 i tak dalej, aż dotrze do n. Każda iteracja opiera się na poprzednim wyniku.
Wyzwanie
ŁatwyNapisz funkcję factorial, która przyjmuje n i zwraca silnię tej liczby.
Użyj pętli, aby pomnożyć przez siebie wszystkie dodatnie liczby całkowite od 1 do n.
Parametry:
n(Int): dodatnia liczba całkowita (1 lub większa)
Zwraca: silnię n (Int)
Na przykład, jeśli n wynosi 4, funkcja oblicza 1 × 2 × 3 × 4 = 24 i zwraca 24.
Spróbuj swoich sił
func factorial(n: Int) -> Int {
// Napisz kod tutaj
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloPrzypisanie złożonePodsumowanie — prosta matematykaOperatory porównania7Podstawowe wejście/wyjście
Funkcja printInterpolacja ciągów znakówWejście ReadLineKonwersja typówPowtórka – do 120Powtórka – prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneEtykiety argumentówPowtórka – funkcja SigmaPowtórka – funkcja walidującaWartości domyślne2Zmienne
let vs varAdnotacje typówLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPodsumowanie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka – prosta logikaOperatory logiczne, część 3Operator trójargumentowy8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych wejściowych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz3Typy opcjonalne
Czym są typy opcjonalneRozpakowywanie za pomocą if letGuard letOperator nil-coalescingPodsumowanie — bezpieczne rozpakowywanie6Podejmowanie decyzji
Instrukcja ifIf - ElsePowtórka – prosty kalkulatorInstrukcja switchSwitch z zakresami9Pętle
Pętla for-inPętla whilePętla repeat-whileInstrukcja breakInstrukcja continuePowtórzenie – silniaZakresy w pętlachPętla zagnieżdżonaPowtórzenie – dynamiczne dane wejściowePoćwicz samodzielnie: Edytor online Swift