Może taki mały przykład.
Mamy dwie liczby 4 i 6 i chcemy znaleźć ile jest całkowitych dzielników tych liczb w zakresie 0 - 100:
Możemy zrobić bruteforce:
for (int i = 1; i <= 100; ++i)
if (i % 4 == 0 || i % 6 == 0) wynik++
Ale możemy też szybko stwierdzić, że takich liczb jest:
dla 4 = 25
dla 6 jest 16
ale są też "wspólne": 12, 24, 36, 48, 60, 72, 84, 96 razem 8
Czyli 25 + 16 - 8
Podobnie w tym zadaniu 
PS
W C++ jest prawie gotowa do użycia: jest funkcja __gcd(a, b), a tu potrzeba lcm, nieprawdaż?