중첩반복문 - 중첩반복문 수행평가3(소인수 찾기)
2018. 7. 8. 11:29ㆍalgorithm/dimigo.goorm.io
#include <stdio.h>
int IsPrimeNumber(int n) {
int i = 0;
int last = n / 2;
if (n <= 1)
{
return 0;
}
for (i = 2; i <= last; i++)
{
if ((n%i) == 0)
{
return 0; //소수 x
}
}
return 1; //소수
}
int main() {
int num = 0;
int j;
int result[10] = { 0 };
int a, b, tmp;
int i;
scanf("%d", &a);
for (i = 1; i < a; i++) {
if (a % i == 0) {
tmp = a / i;
if (IsPrimeNumber(tmp) == 1) {
result[num] = tmp;
num++;
}
}
}
for (i = 0; i < num; i++) {
for (j = 0; j <= num; j++) {
if (result[i] <= result[j]) {
tmp = result[i];
result[i] = result[j];
result[j] = tmp;
}
}
}
for (i = 0; i < num; i++) {
printf("%d ", result[i]);
}
return 0;
}
'algorithm > dimigo.goorm.io' 카테고리의 다른 글
중첩반복문 - 중첩반복문 수행평가5(범위 안에 모두 나누어 떨어지는 수) (290) | 2018.07.08 |
---|---|
중첩반복문 - 중첩반복문 수행평가4(리본 그리기) (275) | 2018.07.08 |
중첩반복문 - 중첩반복문 수행평가2(평행사변형 출력하기) (272) | 2018.07.08 |
중첩반복문 - 중첩반복문 수행평가1(거꾸로 삼각형 출력하기) (269) | 2018.07.08 |
중첩반복문 - 중첩반복문 활용예제9(대칭수 찾기) (298) | 2018.07.08 |