4
我已經在Erlang編寫代碼,並且在我的機器上得到了正確的答案。但是,當我在SPOJ上提交時,它會給出一個NZEC(非零退出代碼)錯誤。我使用了內置函數,如halt()
和init:stop()
,它們的規範清楚地表明它們用於避免非零退出代碼錯誤。但是我仍然得到同樣的錯誤。我怎麼解決這個問題?在Erlang中避免NZEC錯誤SPOJ
編輯所要求的註釋代碼:
-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).
也許如果你能夠對你的代碼進行一些處理或者至少有一個錯誤報告,那麼它會更容易幫助你... – 2010-07-22 15:11:06
-module(階乘)。 -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]), 循環(No_of_cases-1)。 find_factorial(0,Product) - > Product; find_factorial(Number,Product) - > find_factorial(Number-1,Product * Number)。 此代碼用於查找factorial。運行在我的機器上,但在spoj中給出非零退出代碼錯誤 – niting112 2010-07-23 04:31:54