开发者

Avoid NZEC error in Erlang in SPOJ

开发者 https://www.devze.com 2023-01-08 04:49 出处:网络
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:

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

精彩评论

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