Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pulse

Hiperfatorial

Recommended Posts

O hiperfatorial de um número N, escrito H(n), é definido por

db1f1c9a18a72a791531a501c7ba4fc7.png

Faça uma função recursiva que receba um número inteiro positivo N e retorne o hiperfatorial desse número.

#include <stdio.h>

int hiperfatorial(int n, int cont)
{
    if(cont==0)
    {
        cont = n;
        return n*hiperfatorial(n-1, cont);
    }
    else 
    {
        return hiperfatorial(n, cont-1); 
    }
}

int main ()
{
    int n, cont;
    
    cont = n;
    
    hiperfatorial(n, cont);
}

Não deu certo o que eu fiz até agora e não consegui pensar de outra forma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está esquecendo da exponenciação.

#include <math.h>
#include <stdio.h>

long double hiperfatorial(unsigned long n) {
	if (!n) return 1;
	return powl(n,n) * hiperfatorial(n-1);
}

int main(void) {
	unsigned long n = 5;
	printf("%Lf\n", (long double)hiperfatorial(n));
	return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.