본문으로 바로가기

[3/C++] 가장 큰 소인수 구하기

category Solution/Project Euler 2018. 5. 18. 01:34
728x90
반응형

[3번 문제]


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

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


[ 번역링크 / 원본링크 ]


[코드]


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <stdlib.h>
 
int main()
{
    __int64 i = 600851475143;
    int ans = 2;
    while (true)
    {
        if (i % ans == 0)
        {
            i /= ans;
        }
        if (ans> i)
            break;
        ans++;
    }
    printf("%d\n", ans);
    system("pause");
    return 0;
}
 
cs

728x90
반응형