fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4.  
  5. int f(int a, int b) // a = 12, b = 18
  6. {
  7. int a1 = a, b1 = b; // a1 = 12, b1 = 18
  8. while (a1 != b1) // dopóki są różne
  9. if (a1 < b1) a1 += a; //jeśli a1 < b1, czyli wykona się: a1 = 12 + 12; a1 = 24
  10. else b1 += b; // nie wykona się
  11.  
  12. /**
  13.   * Przy drugim kroku pętli
  14.   * a1 = 24 b1 = 18
  15.   * if sie nie wygona
  16.   * else: b1 = 18+18 = 36
  17.   *
  18.   * Trzeci krok pętli:
  19.   * a1 = 24 b1 = 36
  20.   * if sie wykona wiec a1 = 24 + 12 = 36
  21.   * else sie nie wykona
  22.   *
  23.   * Czwarty krok pętli:
  24.   * a1 = 36 b1 = 36
  25.   * pętla kończy działanie bo a1 == b1
  26.   *
  27.   * Mimo tylu operacji i dziwnych rzeczy, zwracamy int a, które nie zostało zmienione w żaden sposób.
  28.   * a = 12 więc wynik działania funkcji zwróci: 12.
  29.   */
  30.  
  31. return a;
  32. }
  33.  
  34. int main()
  35. {
  36. printf("%d\n", f(12, 18));
  37. return 0;
  38. }
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
12