Solução por Frederico Bulhões
Para resolver esse problema devemos encontrar o menor multiplo comum entre os dois períodos das órbitas.
Para isso vamos usar a fórmula:
Podemos encontrar o MDC usando a fórmula de Euclides, e então computar a resposta não esquecendo o long long.
Código para melhor entendimento:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//solucao de Davi Gabriel | |
#include <bits/stdc++.h> | |
using namespace std; | |
typedef long long ll; | |
int mdc(ll a, ll b){ | |
if(b == 0){ | |
return a; | |
} | |
ll j = max(a, b); | |
ll k = min(a, b); | |
return mdc(k, j%k); | |
} | |
int main() { | |
ll x, y; | |
cin >> x >> y; | |
ll mmc = (x*y)/mdc(x, y); | |
cout << mmc << endl; | |
return 0; | |
} |