Ano tohle chodi a umi to spocitat maximalne 34! ... ja predtim zkousel float jen te funkce faktorial1, f sem nechal int...nechapu proc by melo f byt neco jineho nez int, prece faktorial muzu pocitat jen z celych cisel
Jinak kdyz se pouzije double umi to az 170!
muze mi ale nekdo vysvetlit proc u te druhe rekurzivni fce muze byt f integer a funguje to stejne jako double u te funkce pres cyklus for ?
double faktorial1(double f)
{
int i;
for (i = f-1; i >= 2; i--)
f *= i;
return f;
}
double faktorial2(int f)
{
if (f <= 1) return 1;
return f * faktorial2(f - 1);
}
PS: Muze mi nekdo napsat presne omezeni jednotlivych typu:
short int
int
long int
float
double
long double
Dik vsem za pomoc!