我在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).
答案 0 :(得分:4)