목록알고리즘문제들/알고리즘문제풀이전략_문제 (7)
VioletaBabel
#include int main(){int t, e, f, realMem, n, mem[10001], *appTime, *appMem;scanf("%d", &t);for (int i = 0; i < t; ++i){for (int j = 1; j < 10001; ++j)mem[j] = 500000000;mem[0] = 0;scanf("%d %d %d", &e, &f, &n);realMem = f - e;appTime = new int[n];appMem = new int[n];for (int j = 0; j < n; ++j)scanf("%d %d", &appTime[j], &appMem[j]);for (int j = 0; j < n; ++j)for (int k = 0; k
#include int choigong(int *a, int *b);int count;int main(){int big, small;scanf("%d %d", &big, &small);if (big < small){count = big;big = small;small = count;}count = 0;choigong(&big, &small);printf("최대공약수 : %d\n", small);} int choigong(int *a, int *b){int x = *a, y = *b;printf("%d회 진행. %d, %d\n", ++count, x, y);if (x % y == 0){*a = x;*b = y;}else{*a = y;*b = x % y;choigong(a, b);}}
#include int main(){for (int i = 1, bool_start = 0; i < 6; ++i){if (bool_start == 0)for (int j = i * 5 - 4; j (i - 1) * 5; --j)printf("%d\t", j);printf("\n");bool_start = (bool_start == 0) ? 1 : 0;}}
#include int main(){for (int i = 2, bool_sosu = 0, count = 0; i 1; --j)if (i % j == 0){bool_sosu = 1;break;}if (bool_sosu == 0){printf("%d\t", i);++count;if (count % 8 == 0)printf("\n");}}}
#include int main(){int a, n, sum, allsum;printf("1-1000 사이에서 선택한 수의 배수가 몇 개이고 배수의 합은 얼마인가?\n1부터 1000 사이의 수 중에서 하나를 입력하세요 -> ");scanf("%d", &a);n = 1000 / a;for(int i = 1000; i > 0; --i)if (i % a == 0){sum = a + i;break;}allsum = sum * (n / 2);allsum = (n % 2 != 0) ? allsum + (sum / 2) : allsum;printf("%d의 배수의 개수 : %d, 배수의 합 : %d\n", a, n, allsum);}
#include #include int main(){int n;printf("피노나치 수열을 몇개까지 구하실건가요? -> ");scanf("%d", &n);if (n < 1)return 1;else if (n == 1){printf("1");return 1;}int *num = (int *)malloc(sizeof(int)*n);num[0] = 1;num[1] = 1;for (int i = 2; i < n; ++i)num[i] = num[i - 1] + num[i - 2];for (int i = 0, count = 0; i < n; ++i, count = ++count % 10){printf("%d ", num[i]);if (count == 9) printf("\n");}}
#include int main(){int a, b, ca, cb, temp;printf("약수를 구할 두 정숫값을 입력하세요\n입력 1 : ");scanf("%d", &a);printf("입력 2 : ");scanf("%d", &b);ca = a;cb = b;while (1){if (ca % cb == 0)break;temp = ca;ca = cb;cb = temp % cb;}printf("%d과 %d의 최대공약수는 %d이다\n", a, b, cb);}