Teraz napiszemy program obliczający silnię w C++ w sposób rekurencyjny czyli funkcja licząca silnię będzie wywoływać samą siebie:
Jak widać, funkcja sil wywołuje sama siebie gdy liczba nie jest równa '1'. Wywołanie funkcji w głównym programie następuje poprzez podanie liczby dla której chcemy obliczyć silnię jako argument naszej funkcji.
Metoda druga to:
W tym wpisie obliczanie silni będzie następować za pomocą iteracji w pętli for. Wszystkie obliczenia odbywają się zgodnie z zasadami matematycznymi. Przykładowy program w C++ wygląda następująco:
Program ten liczy silnię w sposób iteracyjny, pobierając liczbę z klawiatury a następnie licząc silnię.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| #include <iostream.h> using namespace std; double sil( double x){ if (x==1){ return 1; } else { return sil(x-1)*x; } } int main(){ cout << "Podaj liczbe: " ; int x; cin >> x; cout << x << "! = " << sil(x); return 1; } |
Jak widać, funkcja sil wywołuje sama siebie gdy liczba nie jest równa '1'. Wywołanie funkcji w głównym programie następuje poprzez podanie liczby dla której chcemy obliczyć silnię jako argument naszej funkcji.
Metoda druga to:
W tym wpisie obliczanie silni będzie następować za pomocą iteracji w pętli for. Wszystkie obliczenia odbywają się zgodnie z zasadami matematycznymi. Przykładowy program w C++ wygląda następująco:
1
2
3
4
5
6
7
8
9
10
11
12
13
| #include <iostream.h> using namespace std; int main(){ int x; cout << "Podaj liczbe: " ; cin >> x; long sil=1; for ( int i=1; i<=x; i++) silnia*=i; cout << x << "! = " << silnia; return 1; } |
Program ten liczy silnię w sposób iteracyjny, pobierając liczbę z klawiatury a następnie licząc silnię.