Я написал код на Erlang, и я получил правильный ответ на моей машине.Но когда я отправляю его на SPOJ , это выдает ошибку NZEC (ненулевой код выхода).Я использовал встроенные функции, такие как halt()
и init:stop()
, и в их спецификации четко сказано, что они используются, чтобы избежать ненулевой ошибки кода выхода.Но все равно я получаю ту же ошибку.Как я могу решить эту проблему?
РЕДАКТИРОВАТЬ Код в соответствии с комментарием:
-module(factorial).
-export([main/0]).
main() ->
{ok, [No_of_cases]} = io:fread("", "~d"),
loop(No_of_cases).
loop(0) ->
%init:stop();
halt(1);
loop(No_of_cases) ->
{ok, [Number]} = io:fread("", "~d"),
ResultFactorial = find_factorial(Number,1),
io:format("~p~n",[ResultFactorial]),
loop(No_of_cases-1).
find_factorial(0,Product) ->
Product;
find_factorial(Number,Product) ->
find_factorial(Number-1,Product*Number).