2016. 8. 12. 12:13ㆍ알고리즘
#include<stdio.h>
int main()
{
unsigned long num1, num2;
int i;
int j[1000];
int t;
printf("Input Integer_Factorizaion Num : ");
scanf("%ld",&num1);
num2 = num1;
for(i = 2 ; i <= num2 ; i++)
{
if( (num2 % i) == 0 )
{
j[t++] = i;
num2 /= i;
if(num2 % i == 0)
{
j[t++] = i;
num2 /= i;
}
}
}
printf("인수 개수 : %d \r\n" , t);
printf("Input Num : %ld \r\n", num1);
printf(" Interger_Factorization : ");
num2 = 1;
for(i = 0 ; i < t ; i++)
{
printf("%d ", j[i]);
num2 *= j[i];
}
if(num1 == num2) printf("\r\n Success \r\n");
else printf("\r\n Failed \r\n");
}
//특정 수의 소인수 값 구하기
결과 :
Input Integer_Factorizaion Num : 600851475143
인수 개수 : 4
Input Num : 600851475143
Interger_Factorization : 71 839 1471 6857
Success
'알고리즘' 카테고리의 다른 글
알고리즘 시간 복잡도 (0) | 2016.12.07 |
---|---|
세자리 수들의 곱 중 가장 큰 대칭수 구하기(palindrome) (0) | 2016.08.12 |
두 자연수의 배수 합 구하기 (0) | 2016.08.11 |