#include
using namespace std;
int silnia(int x)
{
if (x>12)
{
cout << "Wartosc parametru nie moze wynosic wiecej niz 12! Podano: " << x << endl;
return 0;
}
if (x<0)
{
cout << "Wartosc parametru nie moze wynosic mniej niz 0! Podano: " << x << endl;
return 0;
}
else if (x==0) return 1;
else return x*silnia(x-1);
}
int main()
{
int liczba;
cout << "Program liczy silnie funkcja rekurencyjna" << endl;
cout << "Wystarczy podac liczbe mniejsza od 12" << endl;
jeszcze_raz:
cout << "Podaj liczbe:";
cin >> liczba;
if (silnia(liczba)!=0) cout << "Silnia z liczby " << liczba << " wynosi " << silnia(liczba) << endl;
else goto jeszcze_raz;
}
///ZADANIE 8
#include
using namespace std;
int nwd(int a, int b)
{
if (b==0) {cout << "BLAD! Podano liczbe 0 w parametrze b!" << endl; return 0;}
else if (a%b==0) return b;
else return nwd(b,a%b);
}
int main()
{
int liczba,liczba2;
cout << "Program najwiekszy wspolczy dzielnik dwoch liczb funkcja rekurencyjna" << endl;
cout << "Wystarczy podac dwie liczby, z czego druga musi byc rozna od zera" << endl;
jeszcze_raz:
cout << "Podaj liczbe:";
cin >> liczba;
cout << "Podaj 2 liczbe:";
cin >> liczba2;
if (nwd(liczba,liczba2)!=0) cout << "Najwiekszy wspolny dzielnik liczb " << liczba << " i " << liczba2 << " wynosi " << nwd(liczba,liczba2) << endl;
else goto jeszcze_raz;
}