感受一下这个慢
谁会折腾高效的写法。 - %-module(x).
- -define (P (V), io:format ("~p ", [V])).
- -define (PP (V), io:format ("~n~s = ~p~n", [??V, V])).
- loop (A, A, A, _, MAX) -> MAX;
- loop (A, B, B, P, MAX) -> loop (A + 1, A + 1, B, P, MAX);
- loop (A, B, C, P, MAX) ->
- AB = A * B,
- case AB > MAX andalso P(AB) of
- true -> ?P (AB), loop (A, B + 1, C, P, AB);
- ____ -> loop (A, B + 1, C, P, MAX) end.
-
- main(_) ->
- Palindrome = fun (X) ->
- Y = integer_to_list (X),
- Y == lists:reverse (Y) end,
- A = 100,
- B = 999 + 1,
- MAX = loop ( A, A, B, Palindrome, 0),
- ?PP (MAX),
- halt().
复制代码 |