$mode asciifibonacci n: if (n < 2) n else (fibonacci(n - 1)) + (fibonacci(n - 2)) numero := 10resultado := fibonacci numero'<Elemento nº >,I2,< de fibonacci: >,I5' _fmt (numero; resultado)sys.exit 0
with Ada.Text_IO, Ada.Integer_Text_IO;use Ada.Text_IO, Ada.Integer_Text_IO; procedure Fibonacci_Recursivo is function Fibonacci(n : in Integer) return Integer is begin if n < 2 then return n; else return Fibonacci(n - 1) + Fibonacci(n - 2); end if; end Fibonacci; Numero : Integer := 10; Resultado : Integer := Fibonacci(Numero);begin Put_Line(Item => "Elemento nº" & Integer'Image (Numero) & " de fibonacci:" & Integer'Image(Resultado)); end Fibonacci_Recursivo;
[bits 32]section .data numero: dd 10 format_string: db 'Elemento nº %i de fibonacci: %i', 10, 0section .textglobal mainextern printf; pasaremos el parametro por eaxfibonacci: ; solo hay cambios si eax es menor que 2 cmp eax, 2 jl .fibonacci_done ; Si n >= 2 ; a = fibonacci(n - 1) push dword eax ; guardamos n dec eax ; le restamos 1 call fibonacci ; llamamos a fibonacci pop ebx ; recuperamos el original en ebx ; b = fibonacci(n - 2) push eax ; guardamos fibonacci(n - 1) mov eax, ebx ; pasamos el original a eax sub eax, 2 ; le restamos 2 call fibonacci ; llamamos a fibonacci pop ebx ; recuperamos el original ; a + b add eax, ebx ; y los sumamos.fibonacci_done: retmain: mov eax, [numero] call fibonacci ; a C los parametros se le pasan al reves push dword eax ; resultado push dword [numero] ; numero push dword format_string ; "Elemento nº %i de fibonacci: %i\n" call printf; exit_syscall, se llama al kernel para salir mov eax, 1 mov ebx, 0 int 0x80
fibonacci(){ if [ $1 -lt 2 ];then echo $1; else echo $(( `fibonacci $(( $1 - 1 ))` + `fibonacci $(( $1 - 2 ))` )); fi}numero=10resultado=`fibonacci $numero`echo "Numero $numero de fibonacci: $resultado"
sub fibonacci(n) if n < 2 then return n else return (fibonacci(n - 1) + fibonacci(n - 2)) endifend subnumero = 10resultado = fibonacci(numero)print "Elemento nº ", numero, " de fibonacci: ", resultado
#include <stdio.h>int fibonacci(int n){ if (n < 2){ return n; } else{ return fibonacci(n - 1) + fibonacci(n - 2); }}int main(){ int numero = 10; int resultado = fibonacci(numero); printf("Elemento nº %i de fibonacci: %i\n", numero, resultado); return 0;}
using System; class Program{ static int fibonacci(int n){ if (n < 2){ return n; } else{ return fibonacci(n - 1) + fibonacci(n - 2); } } static void Main(){ int numero = 10; int resultado = fibonacci(numero); Console.Write("Elemento nº "); Console.Write(numero); Console.Write(" de fibonacci: "); Console.WriteLine(resultado); }}
(defun fibonacci (n) (if (< n 2) n (+ (fibonacci (- n 1)) (fibonacci (- n 2)))))(defvar numero 10)(defvar resultado (fibonacci numero))(format t "Numero ~D de fibonacci: ~D~%" numero resultado)
int fibonacci(int n) { if (n < 2){ return n; } else{ return fibonacci(n - 1) + fibonacci(n - 2); }}main() { int numero = 10; int resultado = fibonacci(numero); // ó print('Elemento nº ${numero} de fibonacci: ${fibonacci(numero)'); print('Elemento nº ${numero} de fibonacci: ${resultado}');}
-module(fibonacci_recursivo).-export([start/0, fibonacci/1]).fibonacci(0) -> 0;fibonacci(1) -> 1;fibonacci(N) -> fibonacci(N - 1) + fibonacci(N - 2).start() -> Numero = 10, Resultado = fibonacci(Numero), io:format("Elemento nº ~p de fibonacci: ~p~n", [Numero, Resultado]).
USING: kernel math formatting ;IN: fibonacci_recursivo: fibonacci ( int -- int ) dup 2 < [ [ 1 - fibonacci ] [ 2 - fibonacci ] bi + ] unless ;10dupfibonacci"Elemento nº %d de fibonacci: %d" printf
! Escrito para Fortran 95PROGRAM fibonacci_recursivo IMPLICIT NONE INTEGER :: numero = 10, resultado resultado = fibonacci(numero) PRINT *, "Elemento nº ", numero, " de fibonacci: ", resultadoCONTAINSRECURSIVE FUNCTION fibonacci(n) RESULT (r) INTEGER :: n, r IF (n < 2) THEN r = n ELSE r = fibonacci(n - 1) + fibonacci(n - 2) END IFEND FUNCTION fibonacciEND PROGRAM fibonacci_recursivo
def fibonacci(n: int): int if n < 2 do return n else return fibonacci(n - 1) + fibonacci(n - 2)init var numero = 10 var resultado = fibonacci(numero) print "Elemento nº %i de fibonacci: %i", numero, resultado
package mainimport "fmt"func fibonacci(n int)(r int){ if (n < 2){ r = n }else{ r = fibonacci(n - 1) + fibonacci(n - 2) } return }func main() { numero := 10 resultado := fibonacci(numero) fmt.Printf("Elemento nº %v de fibonacci: %v\n", numero, resultado)}
import Text.Printffibonacci 0 = 0fibonacci 1 = 1fibonacci n = fibonacci(n - 1) + fibonacci (n - 2)main = do let numero = 10 let resultado = fibonacci numero printf "Elemento nº %i de fibonacci: %i\n" (numero::Int) (resultado::Int)
class fibonacci_recursivo{ static int fibonacci(int n){ if (n < 2){ return n; } else{ return fibonacci(n - 1) + fibonacci(n - 2); } } public static void main(String argv[]){ int numero = 10; int resultado = fibonacci(numero); System.out.println("Elemento nº "+ numero +" de fibonacci: " + resultado); }}
function fibonacci(n){ if (n < 2){ return n; } else{ return fibonacci(n - 1) + fibonacci(n - 2); }}var numero = 10;var resultado = fibonacci(numero);// Esto cambia segun el entorno, para webs//document.write("Elemento nº "+ numero +" de fibonacci: "+resultado+"<br />");// Para nodejsprocess.stdout.write("Elemento nº "+ numero +" de fibonacci: "+resultado+"\n");
TO fibonacci :n if :n < 2 [output :n] output sum fibonacci difference n 2 fibonacci difference n 1 endmake "numero 10make "resultado fibonacci :numeroprint (word "Elemento\ nº\ :numero "\ de\ fibonacci:\ :resultado)BYE
function fibonacci(n) if n < 2 then return n else return fibonacci(n - 1) + fibonacci(n - 2) endendnumero = 10resultado = fibonacci(numero)io.write(string.format("Elemento nº %i de fibonacci: %i\n", numero, resultado))
#import <stdio.h>int fibonacci(int n){ if (n < 2){ return n; } else{ return fibonacci(n - 1) + fibonacci(n - 2); }}int main(){ int numero = 10; int resultado = fibonacci(numero); printf("Elemento nº %i de fibonacci: %i\n", numero, resultado); return 0;}
let rec fibonacci n = if n < 2 then n else fibonacci (n - 1) + fibonacci(n - 2)inlet numero = 10 inlet resultado = fibonacci numero inprint_string "Elemento numero "; print_int numero;print_string " de fibonacci: "; print_int resultado; print_newline();;
function ret = fibonacci(n) if (n < 2) ret = n; else ret = fibonacci(n - 1) + fibonacci(n - 2); endendnumero = 10;resultado = fibonacci(numero);printf("Elemento nº %i de fibonacci: %i\n", numero, resultado);
program fibonacci_recursivo;function fibonacci(n: integer): integer; var r: integer;begin if (n < 2) then r := n else r := fibonacci(n - 1) + fibonacci(n - 2); fibonacci := r;end;var numero, resultado: integer;begin numero := 10; resultado := fibonacci(numero); writeln('Elemento nº ', numero, ' de fibonacci: ', resultado);end.
sub fibonacci{ my $n = $_[0]; if ($n < 2){ return $n; } else{ return fibonacci($n - 1) + fibonacci($n - 2); }}my $numero = 10;my $resultado = fibonacci($numero);print "Elemento nº $numero de fibonacci: $resultado\n";
<?php function fibonacci($n){ if ($n < 2){ return $n; } else{ return fibonacci($n - 1) + fibonacci($n - 2); } }$numero = 10;$resultado = fibonacci($numero);echo "Elemento nº $numero de fibonacci: $resultado\n";?>
def fibonacci(n): if n < 2: return n else: return fibonacci(n - 1) + fibonacci(n - 2)numero = 10 resultado = fibonacci(numero)# En python2print "Elemento numero", numero, "de fibonacci:", resultado# En python3print ("Elemento numero", numero, "de fibonacci:", resultado)
fibonacci <- function(n){ return (ifelse (n < 2, n, fibonacci(n - 2) + fibonacci(n - 1)))}numero <- 10resultado <- fibonacci(numero)s <- sprintf("Elemento nº %i de fibonacci: %i", numero, resultado)print(s)
def fibonacci(n) if n < 2 return n else return fibonacci(n - 1) + fibonacci(n - 2) endendnumero = 10resultado = fibonacci numeroprint "Elemento n ", numero, " de fibonacci: ", resultado, "\n"
def fibonacci(n: Int): Int = if (n < 2) n else fibonacci(n - 1) + fibonacci(n - 2)val numero = 10val resultado = fibonacci(numero)Console.printf("Elemento nº %s de fibonacci: %s\n", numero, resultado)
(define (fibonacci n) (if (< n 2) n (+ (fibonacci (- n 2)) (fibonacci (- n 1))) ))(define numero 10)(define resultado (fibonacci numero))(display "Elemento nº" )(display numero )(display " de fibonacci: ")(display resultado )(newline )
proc fibonacci n { if { $n < 2 } { return $n } else { return [expr [fibonacci [expr $n - 1]] + [fibonacci [expr $n - 2]]] }}set numero 10set resultado [fibonacci $numero]puts [format "Elemento nº %i de fibonacci: %i" $numero $resultado]
procedure fibonacci(n) if (n < 2) then return n else return fibonacci(n - 1) + fibonacci(n - 2);endprocedure main() numero := 10 resultado := fibonacci(numero) write( stdout, "Elemento nº ", numero, " de fibonacci: ", resultado)end
int fibonacci(int n){ if (n < 2){ return n; } else{ return fibonacci(n - 2) + fibonacci(n - 1); }}void main(){ int numero = 10; int resultado = fibonacci(numero); stdout.printf("Elemento nº %i de fibonacci: %i\n",numero, resultado);}
Anarquía es la noción radical de que las demás personas no son de tu propiedad.
PD: aprovecho para preguntar... tantos lenguajes de programación hay?