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ę.
