ProjectEuler 프로젝트 오일러 3번 본문

Programming/프로그래밍 문제

ProjectEuler 프로젝트 오일러 3번

쩡호 2017. 7. 17. 14:11

<문제>

어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고, 이 소수들을 그 수의 소인수라고 합니다.
예를 들면 13195의 소인수는 5, 7, 13, 29 입니다.

600851475143의 소인수 중에서 가장 큰 수를 구하세요.

 

 

<해답>

 

#include <iostream>

int main()
{
long long val = 600851475143;
bool status = true;

while (status) {

for (int i = 2; i <= val; i++)
{
if (val% i == 0)
{
if (val / i == 1) {
std::cout << val << std::endl;
status = false;
break;
}
else {
val /= i;
break;
}
}
else
continue;
}
}
return 0;

}

Comments