请用Erlang语言编写一个函数循环指定次数输出文本
请用Erlang语言写一段程序,输入一个正整数,循环输出文本。输入整数1,输出"AB1CB2D";输入整数2,输出"AB1CB2DAB3CB4D";输入整数3,输出"AB...
请用Erlang语言写一段程序,输入一个正整数,循环输出文本。
输入整数1,输出"AB1CB2D";
输入整数2,输出"AB1CB2DAB3CB4D";
输入整数3,输出"AB1CB2DAB3CB4DAB5CB6D";
......
输入整数n,输出"AB1CB2DAB3CB4DAB5CB6DAB7CB8D......AB(2*n-1)CB(2*n)D"; 展开
输入整数1,输出"AB1CB2D";
输入整数2,输出"AB1CB2DAB3CB4D";
输入整数3,输出"AB1CB2DAB3CB4DAB5CB6D";
......
输入整数n,输出"AB1CB2DAB3CB4DAB5CB6DAB7CB8D......AB(2*n-1)CB(2*n)D"; 展开
2个回答
展开全部
答案来了。
回答这个问题让我接触到Erlang这个牛x语言,蛮有收获的。
代码如下:注意这个文件名存成test.erl。小心所有代码里的点句号,那是不可少的。
-module(test).
-export([print_string/1]).
gen_string(1) ->
["AB", integer_to_list(1), "C", "B", integer_to_list(2), "D"];
gen_string(N) when N > 1 ->
gen_string(N-1) ++ ["AB", integer_to_list(2*N-1), "C", "B", integer_to_list(2*N), "D"].
print_string(N) ->
if
N > 0 ->
io:fwrite( gen_string(N)),
io:nl();
N =< 0 ->
io:fwrite("N must be positive\n" )
end.
运行结果如下:
63> c:c(test).
{ok,test}
64> test:print_string(1).
AB1CB2D
ok
65> test:print_string(2).
AB1CB2DAB3CB4D
ok
66> test:print_string(3).
AB1CB2DAB3CB4DAB5CB6D
ok
67> test:print_string(5).
AB1CB2DAB3CB4DAB5CB6DAB7CB8DAB9CB10D
ok
68> test:print_string(-1).
N must be positive
ok
回答这个问题让我接触到Erlang这个牛x语言,蛮有收获的。
代码如下:注意这个文件名存成test.erl。小心所有代码里的点句号,那是不可少的。
-module(test).
-export([print_string/1]).
gen_string(1) ->
["AB", integer_to_list(1), "C", "B", integer_to_list(2), "D"];
gen_string(N) when N > 1 ->
gen_string(N-1) ++ ["AB", integer_to_list(2*N-1), "C", "B", integer_to_list(2*N), "D"].
print_string(N) ->
if
N > 0 ->
io:fwrite( gen_string(N)),
io:nl();
N =< 0 ->
io:fwrite("N must be positive\n" )
end.
运行结果如下:
63> c:c(test).
{ok,test}
64> test:print_string(1).
AB1CB2D
ok
65> test:print_string(2).
AB1CB2DAB3CB4D
ok
66> test:print_string(3).
AB1CB2DAB3CB4DAB5CB6D
ok
67> test:print_string(5).
AB1CB2DAB3CB4DAB5CB6DAB7CB8DAB9CB10D
ok
68> test:print_string(-1).
N must be positive
ok
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询