Buscar

Lista8_Recursividade

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Universidade Católica de Pernambuco 
Centro de Ciências e Tecnologia 
Ciência da Computação 
Disciplina: Introdução a Programação I 
Aluno: José Gabriel Vicente das Neves da Silva
Mat.: 201510881-5
Prof° Mozart Gomes 
 
1ª Lista de Recursividade 
 
Considere a função abaixo: 
int X (int a) { 
 if ( a <= 0 ) 
 return 0; 
 else 
 return a + X(a - 1);
} 
 
O que essa função faz? 
Escreva uma função não-recursiva que resolve o mesmo problema. 
 
O máximo divisor comum (MDC) de dois números naturais x e y é o maior natural que divide x e y sem gerar resto. Para isto, defina uma função recursiva mdc que retorne o máximo divisor comum de x e y. o MDC de x e y é definido recursivamente da seguinte forma: 
se y = 0, mdc(x , y) = x 	 
mdc(x , y) = mdc(y , x % y) 
 Exemplo: MDC(12,4) = MDC(4,0) = 4 
 
 
 
 
 
 
1º)Questão:
 a) Somatório de um numero com os seus antecessores.
 	ex.: 5+4+3+2+1
b) 
#include <stdio.h>
int funcaoSomatorio(int numero){
	int somatorio = 0, contador;
	for (contador = 0; contador != numero; numero -= 1){
		somatorio += numero;
	}
	return somatorio;
}
int main(){
	int numero;
	printf("Informe um numero inteiro: ");
	scanf("%d", &numero);
	printf("O Somatorio: %d\n", funcaoSomatorio(numero));
	return 0;
}
2º) Questão:
#include <stdio.h>
int funcaoMDC(int x, int y){
	if (y == 0){
		return x;
	}
	else{
		return funcaoMDC(y, x % y); 
	}
}
int main(){
	int x, y;
	printf("Informe o primeiro numero(x): ");
	scanf("%d", &x);
	printf("Informe o segundo numero(y): ");
	scanf("%d", &y);
	printf("O MDC de %d e %d eh = %d\n", x, y, funcaoMDC(x, y));
	return 0;
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais