CODING/C

[C언어]Project Euler(프로젝트 오일러) 3 번

RACENI 2020. 8. 1. 23:43

 

::문제::
어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고, 이 소수들을 그 수의 소인수라고 합니다.예를 들면 13195의 소인수는 5, 7, 13, 29 입니다.
600851475143의 소인수 중에서 가장 큰 수를 구하세요.

::문제 주소::
https://euler.synap.co.kr/problem=3

 

-이하 소스 코드-

#include <stdio.h>

int main()
{
    long long num = 600851475143;
    int prime = 0;

    for (int i = 3; i <= num; i++)
    {
        if (num % i == 0)
        {
            prime = i;
            num /= i;
        }
    }
    printf("%d\n", prime); // 6857

    return 0;
}