fork download
  1. with Ada.Text_IO; use Ada.Text_IO;
  2. with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
  3. with Ada.Strings.Unbounded; use Ada.Strings.Unbounded;
  4.  
  5. procedure Program is
  6. function FizzBuzz(N: in Integer) return String is
  7. Result: Unbounded_String := To_Unbounded_String("");
  8. begin
  9. if N rem 3 = 0 then
  10. Result := Result & To_Unbounded_String("Fizz");
  11. end if;
  12. if N rem 5 = 0 then
  13. Result := Result & To_Unbounded_String("Buzz");
  14. end if;
  15. if Result = "" then
  16. Result := To_Unbounded_String(Integer'Image(N));
  17. end if;
  18. return To_String(Result);
  19. end Fizzbuzz;
  20.  
  21. function Fib(N: in Integer) return Integer is
  22. begin
  23. if N < 2 then
  24. return 1;
  25. else
  26. return Fib(N - 1) + Fib(N - 2);
  27. end if;
  28. end Fib;
  29. begin
  30. for N in Integer range 1 .. 100 loop
  31. Put_Line("fizzbuzz(F_" & Integer'Image(N) & ") = " & FizzBuzz(Fib(N)));
  32. end loop;
  33. end Program;
Time limit exceeded #stdin #stdout 5s 5900KB
stdin
Standard input is empty
stdout
fizzbuzz(F_ 1) =  1
fizzbuzz(F_ 2) =  2
fizzbuzz(F_ 3) = Fizz
fizzbuzz(F_ 4) = Buzz
fizzbuzz(F_ 5) =  8
fizzbuzz(F_ 6) =  13
fizzbuzz(F_ 7) = Fizz
fizzbuzz(F_ 8) =  34
fizzbuzz(F_ 9) = Buzz
fizzbuzz(F_ 10) =  89
fizzbuzz(F_ 11) = Fizz
fizzbuzz(F_ 12) =  233
fizzbuzz(F_ 13) =  377
fizzbuzz(F_ 14) = Buzz
fizzbuzz(F_ 15) = Fizz
fizzbuzz(F_ 16) =  1597
fizzbuzz(F_ 17) =  2584
fizzbuzz(F_ 18) =  4181
fizzbuzz(F_ 19) = FizzBuzz
fizzbuzz(F_ 20) =  10946
fizzbuzz(F_ 21) =  17711
fizzbuzz(F_ 22) =  28657
fizzbuzz(F_ 23) = Fizz
fizzbuzz(F_ 24) = Buzz
fizzbuzz(F_ 25) =  121393
fizzbuzz(F_ 26) =  196418
fizzbuzz(F_ 27) = Fizz
fizzbuzz(F_ 28) =  514229
fizzbuzz(F_ 29) = Buzz
fizzbuzz(F_ 30) =  1346269
fizzbuzz(F_ 31) = Fizz
fizzbuzz(F_ 32) =  3524578
fizzbuzz(F_ 33) =  5702887
fizzbuzz(F_ 34) = Buzz
fizzbuzz(F_ 35) = Fizz
fizzbuzz(F_ 36) =  24157817
fizzbuzz(F_ 37) =  39088169
fizzbuzz(F_ 38) =  63245986
fizzbuzz(F_ 39) = FizzBuzz
fizzbuzz(F_ 40) =  165580141
fizzbuzz(F_ 41) =  267914296