반응형
SMALL
- 버블정렬시 이차원 배열 사용 주의
- 처음부터 끝까지 확인하면 시간이 오래걸리므로 제곱근 사용
- 마지막 출력시 겹치는 부분 고려
#include <stdio.h>
#include <math.h>
void printArr(int a[],int count) {
for (int i = 0; i < count; i++) {
if (a[i] != a[i + 1]) {
printf("%d ",a[i]);
}
}
}
void bubbleSort(int* a, int count) {
int tmp=0;
for (int i = 0; i < count-1; i++) {
for (int j = 0; j < count - 1 - i; j++) {
if (a[j] > a[j + 1]) {
tmp = a[j];
a[j] = a[j + 1];
a[j + 1] = tmp;
}
}
}
}
int main() {
int n;
scanf("%d", &n);
int arr[10000]; // 약수 저장할 배열
int count = 0;
for (int i = 1; i <= sqrt(n); i++) {
if (n % i == 0) {
arr[count++] = i;
arr[count++] = n / i;
}
}
bubbleSort(arr,count);
printArr(arr,count);
}
반응형
LIST
'정올 문제풀이' 카테고리의 다른 글
정올 1339 : 문자삼각형 2 (0) | 2020.04.27 |
---|---|
정올 1002 : 최대공약수, 최소공배수 응용 (0) | 2020.04.27 |
정올 1658 : 최대공약수, 최소공배수 (+유클리드 호제법) (0) | 2020.04.27 |
정올 2071 : 파스칼 삼각형 (0) | 2020.04.27 |
정올 1338 : 문자삼각형 (0) | 2020.04.27 |
댓글