(C-nyelv) Valaki leirna azt a rekurziv fuggvenyt amely kiszamolja: a az n. -en erteket?
Bármely szám nulladik hatványa 1. Azaz:
a^0 = 1
Bármely szám pozitív egész hatványa, az egyel kisebb hatvány és a szám szorzata. Azaz:
a^(n) = a^(n-1) * n
Innen már egyszerű. A függvénynek lesz két paramétere, az alap, és a kitevő. Első lépésben a függvény megvizsgálja, hogy a kitevő nulla-e. Ha igen, akkor visszatér az 1 értékkel. Ha nem, akkor visszaadja az n és az egyel kisebb kitevővel meghívott függvény szorzatát.
Pontos függvényt szándékosan nem fogok adni, gyakorold, hogy hogyan kell ezt pontosan megvalósítani a C nyelv szintaxisával, de vázlatosan erről van szó:
hatványozás(alap, kitevő) {
ha (alap==0) akkor visszatér 1;
visszatér alap * hatványozás(alap, kitevő-1)
}
Természetesen ez csak pozitív egész kitevő esetén működik.
igy kene? hol rontottam el?
#include <stdio.h>
#include <conio.h>
int a, n;
void Beolvas()
{
printf("Alap= "); scanf("%d",&a);
printf("Kitevo= "); scanf("%d",&n);
}
int Hatvanyozas(a,n-1)
{
if(a==0)
return 1;
return a*Hatvanyozas(a, n-1);
}
int main()
{
Beolvas();
printf("%d a %d-n= %d"a,n,Hatvanyozas(a, n-1));
return 0;
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!