|
|
|
/* Compilar com "gcc -g -pg" * Apos execucao, usar "gprof a.out gmon.out" */ #include <stdio.h> #include <stdlib.h> int f(int i) { if (i > 1) return (i + f(i-1)); else return (1); } int g(int i) { if ( 0 <= i && i < 2) return (i); else return (g(i-1) + g(i-2)); } main(int argc, char *argv[]) { long int i, limite; if (argc > 1) limite=atol(argv[1]); else limite=20; printf ("Limite = %lu\n", limite); printf ("Aguarde ..... \n"); for (i=limite; i>0; i--) { printf ("\tF(%lu) = %lu\n", i, f(i)); printf ("\tG(%lu) = %lu\n", i+2, g(i+2)); } printf ("Acabou !!!!!\n"); }
|
|
Soma(v, a, b) se a > b, devolva 0 senao devolva v[a] + Soma(v, a + 1, b) Soma_2(v,a,b) se a > b, devolva 0 m = piso((a+b)/2) devolva Soma_2(v, m, b) + Soma_2(v, m + 1, b)
|
|
|
|