开发者

Avoid NZEC error in Erlang in SPOJ

I've written code in Erlang, and I get the correct answer on my machine. But when I submit it on SPOJ it gives an NZEC (non zero exit code) error. I have used built-in functions like halt() and init:stop(), and their sp开发者_开发问答ecification clearly says that they are used to avoid non-zero exit code error. But still I get the same error. How can I solve this problem?

EDIT The code as required by a comment:

-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).


I got the answer. The trick is that your module name always has to be tested and the entry point should be function main . For example, after compilation it should be run as tested:main().

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜