Pulse 0 Denunciar post Postado Junho 14, 2015 O hiperfatorial de um número N, escrito H(n), é definido por 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
_Isis_ 202 Denunciar post Postado Junho 14, 2015 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