2015. 2. 10. 18:21 Programing/Algorithm
프로젝트 오일러 3번
문제: 어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고, 이 소수들을 그 수의 소인수라고 합니다.
예를들면 13195의 소인수는 5, 7, 13, 29 입니다. 600851475143의 소인수 중에서 가장 큰 수를 구하세요.
#include <stdio.h>
int main()
{
int i;
unsigned long long int n = 600851475143;
for (i = 2; i<=n; i++)
{
if (n%i == 0){
printf("%d ", i);
n = n/i;
i = 2;
}
}
return 0;
}
//문제의 답이 제대로 나오지 않았는데, INT형의 범위를 고려하지 않은것이 문제였다. unsigned long long으로 선언하지 않으면 제대로 된 답이 나오지 않는다.
'Programing > Algorithm' 카테고리의 다른 글
프로젝트 오일러 6번 (0) | 2015.02.10 |
---|---|
프로젝트 오일러 5번 (0) | 2015.02.10 |
프로젝트 오일러 4번 (0) | 2015.02.10 |
프로젝트 오일러 2번 (0) | 2015.02.10 |
Kadane's Algorithm (0) | 2015.02.10 |