Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

problem z rekurencją

Ostatnio zmodyfikowano 2015-04-04 13:41
Autor Wiadomość
Nitro
Temat założony przez niniejszego użytkownika
problem z rekurencją
» 2015-04-01 13:58:01
Witam,

Głowie się nad funkcją rekurencyjną, wpisując 2 do 3 w wyniku powinno sie pojawić 8 i tak się dzieje natomiast czemu trzeba zastosowac tu warunek if(n>1) a nie if(n>0) ten drugi wydaje się bardziej logiczny aby pętla obróciła się trzy razy bo w przypadku n>1 obraca się tylko dwa..

C/C++
//program podnoszacy liczbe do potegi
#include <stdio.h>
#include <stdlib.h>
int funkcja( int x, int n );
int main( void )
{
    int liczba = 0;
    int potega = 0;
   
    printf( "*******************************************\n" );
    printf( "Uzytkowniku wprowadz liczbe oraz jej potege\n" );
   
    while(( scanf( "%d %d", & liczba, & potega ) ) == 2 )
    {
        printf( "Oto wynik dzialania: %d\n", funkcja( liczba, potega ) );
    }
   
    system( "pause" );
    return 0;
}
int funkcja( int x, int n )
{ //
    //////////////
    if( x > 0 ) //liczby >0
    {
       
        if( n > 1 )
             x = x * funkcja( x, n - 1 );
       
    }
   
    return x;
P-129777
Wronski
» 2015-04-01 14:34:26
https://www.youtube.com/watch​?v=jNi_X5bvmQ0

Narazam sie komus robiac takie rzeczy ? :|
P-129779
Brunon3
» 2015-04-01 14:43:06
@up: Właśnie chciałem dać mu ten link, ale sobie przypomniałem że @Monika90 pisała żeby

nie dawać linków do kursu kreacjonisty

więc nie dałem... Za to Ty dałeś. :)

...i jeszcze lepiej by było jakbyś dał ten link w znacznik [a href="link"] (WYNIK: link). ;)

-BD.
P-129782
Monika90
» 2015-04-01 15:23:40
Dawajcie sobie linki do czego chcecie, mnie już to nie obchodzi
P-129790
Nitro
Temat założony przez niniejszego użytkownika
» 2015-04-02 10:36:51
Udało mi się napisać działającą formułę dla potęgowania liczb dodatnich, dla ujemnych niestety nie, program się zawiesza

C/C++
float funkcja( float x, float n )
{ //
   
    if( x > 0 )
    {
       
        if( n == 0 ) return 1;
        else
             return x * funkcja( x, n - 1 );
       
        if( x < 0 )
        ??
P-129880
C-Objective
» 2015-04-04 13:41:23
A nie umiesz pow użyć?
P-130101
« 1 »
  Strona 1 z 1