Facebook
From Wojciech B, 4 Years ago, written in C++.
This paste is a reply to Zadanie 7 i 8 - Rekurencja from Wojciech B - view diff
Embed
Download Paste or View Raw
Hits: 206
  1. ///ZADANIE 7
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int silnia(int x)
  7. {
  8.     if (x>12)
  9.     {
  10.         cout << "Wartosc parametru nie moze wynosic wiecej niz 12! Podano: " << x << endl;
  11.         return 0;
  12.     }
  13.     if (x<0)
  14.     {
  15.         cout << "Wartosc parametru nie moze wynosic mniej niz 0! Podano: " << x << endl;
  16.         return 0;
  17.     }
  18.     else if (x==0) return 1;
  19.     else return x*silnia(x-1);
  20. }
  21.  
  22. int main()
  23. {
  24.     int liczba;
  25.     cout << "Program liczy silnie funkcja rekurencyjna" << endl;
  26.     cout << "Wystarczy podac liczbe mniejsza od 12" << endl;
  27.     jeszcze_raz:
  28.     cout << "Podaj liczbe:";
  29.     cin >> liczba;
  30.     if (silnia(liczba)!=0) cout << "Silnia z liczby " << liczba << " wynosi " << silnia(liczba) << endl;
  31.     else goto jeszcze_raz;
  32. }
  33.  
  34.  
  35. ///ZADANIE 8
  36. #include <iostream>
  37.  
  38. using namespace std;
  39.  
  40. int nwd(int a, int b)
  41. {
  42.     if (b==0) {cout << "BLAD! Podano liczbe 0 w parametrze b!" << endl; return 0;}
  43.     else if (a%b==0) return b;
  44.     else return nwd(b,a%b);
  45. }
  46.  
  47. int main()
  48. {
  49.     int liczba,liczba2;
  50.     cout << "Program najwiekszy wspolczy dzielnik dwoch liczb funkcja rekurencyjna" << endl;
  51.     cout << "Wystarczy podac dwie liczby, z czego druga musi byc rozna od zera" << endl;
  52.     jeszcze_raz:
  53.     cout << "Podaj liczbe:";
  54.     cin >> liczba;
  55.     cout << "Podaj 2 liczbe:";
  56.     cin >> liczba2;
  57.     if (nwd(liczba,liczba2)!=0) cout << "Najwiekszy wspolny dzielnik liczb " << liczba << " i " << liczba2 << " wynosi " << nwd(liczba,liczba2) << endl;
  58.     else goto jeszcze_raz;
  59. }
  60.