int fib (int n) { if (n < 2) return n; else return fib(n - 1) + fib(n - 2); } int main() { int i; scanf("%d", &i); printf("fib(%d) = %d\n", i, fib(i)); return 0; } |
int memFibs[1024] = {0,1,1}; int fib(int n) { if (memFibs[n] == 0) memFibs[n] = fib(n - 1) + fib(n - 2); return memFibs[n]; } int main() { int i; scanf("%d", &i); printf("fib(%d) = %d\n", i, fib(i)); return 0; } |
int gcd(int i, int j) { if (j == 0) return i; else return gcd(j, i % j); } int main() { int i, j; scanf("%d", &i); scanf("%d", &j); printf("mdc(%d,%d) = %d\n", i, j, gcd(i, j)); return 0; } |
int size = 15; int v[] = {2, 9, 15, 26, 31, 37, 49, 51, 53, 54, 62, 66, 75, 84, 91}; int bsearch(int value, int low, int high) { int middle; if (low > high) return -1; middle = (low + high) / 2; if (value > v[middle]) return bsearch(value, middle + 1, high); else if (value < v[middle]) return bsearch(value, low, middle - 1); else return middle; } int main() { int i, index; scanf("%d", &i); index = bsearch(i, 0, size - 1); if (index == -1) printf("%d not found\n", i); else printf("%d found at index %d\n", i, index); return 0; } |