#include <iostream>
int largestPrimeFactor(int n) {
int div = 2, maxPFact = -1;
while (n != 0) {
if (n % div != 0)
div = div + 1;
else {
maxPFact = n;
n = n / div;
if (n == 1) {
break;
}
}
}
return maxPFact;
}
int main() {
int n = 124;
std::cout << largestPrimeFactor(n) << "\n"; // 2 x 2 x 31
std::cout << largestPrimeFactor(288) << "\n"; // 2 x 2 x 2 x 2 x 2 x 3 x 3
std::cout << largestPrimeFactor(1288) << "\n"; // 2 x 2 x 2 x 7 x 23
}
/*
run:
31
3
23
*/