Solução Intermediário Informática - Semana 42

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:

MMC(x,y) = \displaystyle\frac{x\cdot y}{MDC(x,y)}

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:


//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;
}

view raw

orbitas.cpp

hosted with ❤ by GitHub