:-module fibonacci.
:-interface.
:-import_module io.

:-pred main(io, io).
:-mode main(di, uo) is det.

:-func fibonacci(int)= int.

:-implementation.
:-import_module int, list, string.

main(!IO) :-
    command_line_arguments(Args, !IO),
    (if Args = [Arg|_] then
	Zahl = det_to_int(Arg),
	format("Fibonacci-Zahl von %d ist %d\n", 
		[ i(Zahl), i(fibonacci(Zahl)) ], 
		!IO)
    else 
	true
    ).

fibonacci(Zahl)=  
    (if Zahl < 2 then 
	1
    else 
	fibonacci(Zahl - 1) + fibonacci(Zahl - 2)
    ).
