Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //4-dado um vetor de inteiros e o seu numero de elementos, crie uma funçao recursiva que inverta a posiçao dos
- //seus elementos
- #include <stdio.h>
- int max(int n, int v[])
- {
- int x;
- if(n==1) x=v[0];
- else
- {
- x=max(n-1, v);
- if(x<v[n-1]) x=v[n-1];
- }
- return x;
- }
- int main()
- {
- int x, y[]= {5,9,3,-5,4};
- x=max(5,y);
- printf("x=%i",x);
- }
- //2-implemente uma funçao recursiva soma(n) que calcula o somatorio dos n primeiros
- //numeros inteiros. escreva e resolva a equaçao de recorrencia dessa funçao.
- #include <stdio.h>
- int soma(n)
- {
- int a;
- if(n==1)
- return n;
- else
- return n+soma(n-1);
- }
- int main()
- {
- int n=5;
- printf("a soma recursiva de %d: %d\n",n, soma(n));
- }
- //9-construa uma funcao recursiva que calcula a divisao usando subtracoes sucessivas
- //dados int div(int x, int y);
- //apenas divisoes inteiras ex: 25/5=5
- #include <stdio.h>
- int div(int x, int y)
- {
- int count;
- if (x<y)
- {
- return 0;
- }
- else
- {
- return count = 1+div(x-y, y);
- }
- }
- int main()
- {
- int x=25, y=5;
- printf("%i/%i = %i",x, y, div(x,y));
- }
- //13-construa uma funcao recursiva que imprima os n primeiros valores da seguinte sequencia
- //dados 1-2-3-4-5-6...
- #include <stdio.h>
- void sequen(int n)
- {
- if(n==1)
- {
- printf("%d",n);
- }
- else
- {
- sequen(n-1);
- printf("%d",n);
- }
- }
- int main()
- {
- int a=10;
- sequen(a);
- }
- //5-escreva uma funcao recursiva que determine quantas vezes um digito k ocorre em um
- //numero natural n. por exemplo, o digito 2 ocorre 3 vezes em 762021192
- #include <stdio.h>
- int contagem_dig(int n, int k)
- {
- if(n==0)
- {
- return 0;
- }
- else
- {
- return contagem_dig(n/10, k)+(n%10==k);
- }
- }
- int main()
- {
- int k, n;
- n=177013;
- k=7;
- pritnf("%i vezes\n",contagem_dig(n,k));
- }
- //6-um problema tipico em ciencia da computaçao consiste em converter um numero da sua forma decimal
- //para forma binaria. construa uma funcao recursiva para solucionar este problema.
- #include <stdio.h>
- int binario( int dec)
- {
- if (dec==0)
- {
- return 0;
- }
- else return (dec%2+10*binario(dec/2));
- }
- int main()
- {
- int dec, bin;
- printf("informe um valor: \n");
- scanf("%d",&dec);
- bin=binario(dec);
- printf("%d",bin);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement