C++ Chocolates By Numbers
long long chocolatesGcd(long long n, long long m)
{
if (n % m == 0) {
return m;
}
return chocolatesGcd(m, n % m);
}
long long chocolatesByNumbers(long long n, long long m)
{
long long g = chocolatesGcd(n, m);
return ((n * m) / g) / m;
}
This uses the greatest common divisor to figure out how many chocolates get eaten before the pattern repeats.