#include <iostream>
using namespace std;
int f(int a, int b) // a = 12, b = 18
{
int a1 = a, b1 = b; // a1 = 12, b1 = 18
while (a1 != b1) // dopóki są różne
if (a1 < b1) a1 += a; //jeśli a1 < b1, czyli wykona się: a1 = 12 + 12; a1 = 24
else b1 += b; // nie wykona się
/**
* Przy drugim kroku pętli
* a1 = 24 b1 = 18
* if sie nie wygona
* else: b1 = 18+18 = 36
*
* Trzeci krok pętli:
* a1 = 24 b1 = 36
* if sie wykona wiec a1 = 24 + 12 = 36
* else sie nie wykona
*
* Czwarty krok pętli:
* a1 = 36 b1 = 36
* pętla kończy działanie bo a1 == b1
*
* Mimo tylu operacji i dziwnych rzeczy, zwracamy int a, które nie zostało zmienione w żaden sposób.
* a = 12 więc wynik działania funkcji zwróci: 12.
*/
return a;
}
int main()
{
printf("%d\n", f(12, 18));
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmludCBmKGludCBhLCBpbnQgYikgLy8gYSA9IDEyLCBiID0gMTgKewoJaW50IGExID0gYSwgYjEgPSBiOyAvLyBhMSA9IDEyLCBiMSA9IDE4Cgl3aGlsZSAoYTEgIT0gYjEpIC8vIGRvcMOza2kgc8SFIHLDs8W8bmUKICAgIAlpZiAoYTEgPCBiMSkgYTEgKz0gYTsgLy9qZcWbbGkgYTEgPCBiMSwgY3p5bGkgd3lrb25hIHNpxJk6IGExID0gMTIgKyAxMjsgYTEgPSAyNAogICAJCWVsc2UgYjEgKz0gYjsgLy8gbmllIHd5a29uYSBzacSZCiAgIAkJCiAgIAkvKioKICAgCSAqIFByenkgZHJ1Z2ltIGtyb2t1IHDEmXRsaSAKICAgCSAqIGExID0gMjQgYjEgPSAxOAogICAJICogaWYgc2llIG5pZSB3eWdvbmEKICAgCSAqIGVsc2U6IGIxID0gMTgrMTggPSAzNgogICAJICogCiAgIAkgKiBUcnplY2kga3JvayBwxJl0bGk6CiAgIAkgKiBhMSA9IDI0IGIxID0gMzYKICAgCSAqIGlmIHNpZSB3eWtvbmEgd2llYyBhMSA9IDI0ICsgMTIgPSAzNgogICAJICogZWxzZSBzaWUgbmllIHd5a29uYQogICAJICogCiAgIAkgKiBDendhcnR5IGtyb2sgcMSZdGxpOgogICAJICogYTEgPSAzNiBiMSA9IDM2CiAgIAkgKiBwxJl0bGEga2/FhGN6eSBkemlhxYJhbmllIGJvIGExID09IGIxCiAgIAkgKiAKICAgCSAqIE1pbW8gdHlsdSBvcGVyYWNqaSBpIGR6aXdueWNoIHJ6ZWN6eSwgendyYWNhbXkgaW50IGEsIGt0w7NyZSBuaWUgem9zdGHFgm8gem1pZW5pb25lIHcgxbxhZGVuIHNwb3PDs2IuCiAgIAkgKiBhID0gMTIgd2nEmWMgd3luaWsgZHppYcWCYW5pYSBmdW5rY2ppIHp3csOzY2k6IDEyLgogICAJICovCiAgIAkKICAgCXJldHVybiBhOwp9CgppbnQgbWFpbigpCnsKICAgIHByaW50ZigiJWRcbiIsIGYoMTIsIDE4KSk7CiAgICByZXR1cm4gMDsKfQ==