Solve Josephus Problem Using Erlang
2013-03-27 16:00
357 查看
Josephus(约瑟夫)问题的数学方法
%%%---------------------------------------------------------------- %%% @author Genesislive <genesislive@126.com> %%% [https://] %%% @copyright 2013 %%% @doc josephus problem %%% @end %%%---------------------------------------------------------------- -module(josephus). -export([josephus_it/2, josephus/2]). %%----------------------------------------------------------------- %% @doc solve josephus problem %% fun(1) = 0, 一个人; %% fun(n) = (fun(n - 1) + m) % n, n个人 %% @spec josephus_it(N, M) -> integer() %% where %% N:integer() number of people %% M:integer() mth people %% @end %%----------------------------------------------------------------- josephus_it(1, _) -> 0; josephus_it(N, M) -> (josephus_it(N - 1, M) + M) rem N. %%----------------------------------------------------------------- %% @doc %% @end %%----------------------------------------------------------------- josephus(N, M) -> lists:foldl(fun(I, S) -> % io:format("~p~n", [((S + M) rem I)]), ((S + M) rem I) end, 0, lists:seq(2, N)).
相关文章推荐
- What are some of the differences between using recursion to solve a problem versus using iteration?
- solve 3*3 magic square problem using recursive backtracking(using Stanford CS106b ADT library)
- Solve an LP problem in C++ using Gurobi
- how to solve "[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!"
- 约瑟夫问题(Josephus problem)1:出列的序列
- 约瑟夫环-链表和数组表示实现及分析(Josephus Problem)
- hdu 5323 Solve this interesting problem(dfs)
- HDU 5323 Solve this interesting problem(2015多校联合)
- 1086 You can Solve a Geometry Problem too
- How to solve: when using tab in gnomeTerminal , the entire screen flash,
- HDU - 1086.You can Solve a Geometry Problem too
- solve the problem showing bash-3.2
- The Hellfire Road to Solve a Problem: IoException raise when Serials Port Open in WinCE-(2)
- hdu 1086 You can Solve a Geometry Problem too(线段相交点的个数)
- (hdu step 7.1.2)You can Solve a Geometry Problem too(乞讨n条线段,相交两者之间的段数)
- 解决unable to find a qt build,to solve this problem specify a qt build
- pycaffe problem: loss doesn't display correctly by using python loss layer on caffe
- Hdu 5323 Solve this interesting problem(搜索)
- 基于Problem Solving with Algorithms and Data Structures using Python的学习记录(6-1)——Tree
- some encountered problem and the solve methods when install Matlab in Linux