More actions
imported>Unknown No edit summary |
(Repair batch-0008 pages from live compare) |
||
| Line 27: | Line 27: | ||
int i, j, flag, arr_p, tmp; | int i, j, flag, arr_p, tmp; | ||
int arr | int arr[10000] = {0, }; | ||
time_t start, end; | time_t start, end; | ||
| Line 33: | Line 33: | ||
start = clock(); | start = clock(); | ||
arr | arr[0] = 2; | ||
arr_p = 1; | arr_p = 1; | ||
for (i = 3; i < MAX_PRIME; i += 2) { | for (i = 3; i < MAX_PRIME; i += 2) { | ||
for (j = 0, flag = 1, tmp = i >> 1; tmp >= arr | for (j = 0, flag = 1, tmp = i >> 1; tmp >= arr[j]; j++) { | ||
if (i % arr | if (i % arr[j] == 0) { | ||
flag = 0; | flag = 0; | ||
break; | break; | ||
| Line 45: | Line 45: | ||
if (flag) { | if (flag) { | ||
arr | arr[arr_p] = i; | ||
arr_p++; | arr_p++; | ||
} | } | ||
| Line 54: | Line 54: | ||
end = clock(); | end = clock(); | ||
while (arr | while (arr[i] != 0) | ||
printf("%d ", arr | printf("%d ", arr[i++]); | ||
printf("\n%f\n", (double)(end - start) / CLK_TCK); | printf("\n%f\n", (double)(end - start) / CLK_TCK); | ||
| Line 76: | Line 76: | ||
이 컴비네이션 함수.. 제대로 푼건지 확신이 안가는군요. 6c3 같은거로 테스트 해보면 제대로 돌아가는 거 같은데요. | 이 컴비네이션 함수.. 제대로 푼건지 확신이 안가는군요. 6c3 같은거로 테스트 해보면 제대로 돌아가는 거 같은데요. | ||
Latest revision as of 01:40, 27 March 2026
계승 구하기
/* fac.c */
#include <stdio.h>
int main(void) {
int num;
unsigned long int fac = 1;
printf("Enter Number : ");
scanf("%d", &num);
do fac *= num; while (--num);
printf("%u\n", fac);
return 0;
}
소수 구하기
/* prime2.c */
#include <stdio.h>
#include <time.h>
#define MAX_PRIME 50000
int main(void) {
int i, j, flag, arr_p, tmp;
int arr[10000] = {0, };
time_t start, end;
start = clock();
arr[0] = 2;
arr_p = 1;
for (i = 3; i < MAX_PRIME; i += 2) {
for (j = 0, flag = 1, tmp = i >> 1; tmp >= arr[j]; j++) {
if (i % arr[j] == 0) {
flag = 0;
break;
}
}
if (flag) {
arr[arr_p] = i;
arr_p++;
}
}
i = 0;
end = clock();
while (arr[i] != 0)
printf("%d ", arr[i++]);
printf("\n%f\n", (double)(end - start) / CLK_TCK);
return 0;
}
컴비네이션
int factorial(int arg) {
return arg <= 1 ? 1 : arg * factorial(arg - 1);
}
int permutation(int arg1, int arg2) {
return arg2 == 0 ? 1 : arg1 * permutation(arg1 - 1, arg2 - 1);
}
int combination(int arg1, int arg2) {
return permutation(arg1, arg2) / factorial(arg2);
}
이 컴비네이션 함수.. 제대로 푼건지 확신이 안가는군요. 6c3 같은거로 테스트 해보면 제대로 돌아가는 거 같은데요.