liczby nieparzyste rekurencja

0

Mam problem , nie potrafie napisac rekurencji liczb nieparzystych typu long .
Potrafie napisac dla liczb calkowitych :/ Dziekuje za ewentualna pomoc

dla liczb calkowitych

long suma(long i){
if (i!=0){

if (i>0) return i+suma(i-1);
else if(i<0)  return i+suma(i+1);


} return 0;
}
0

bo zamiast i suma(i-1) musisz dac i suma (2i -1). Przeciez i-1 raz bedzie parzyste raz nie a 2i - i zawsze nieparzyste, bo kazda liczba pomnozona przez dwa daje liczbe parzysta i jesli odejmiemy od niej 1 to bedzie nieparzysta :)

0

Tak to chyba bedzie iteracyjnie a nie rekurencyjnie

0

to jest rekurencja, iteracyjne to by było, gdybys potarzal daną czynność np. w pętli :)

0
static int  suma(int liczba){

 if (liczba %2!=0){
 
 		
 	
 	
 	if (liczba>1){
 			return liczba+suma(2*liczba-1);}
 
 

 	
 } return 1;
 }

Raczej tak nie dziala

1 użytkowników online, w tym zalogowanych: 0, gości: 1