Advertisement
Guest User

Untitled

a guest
Nov 16th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Erlang 1.19 KB | None | 0 0
  1. -module(hello).
  2. -export([hello_world/0,add/2,createTowers/1,displayTowers/3,fillTower/1,move/5,solve/5]).
  3.  
  4. hello_world() -> io:fwrite("hello, world\n").
  5.    
  6. add(A,B)->
  7.     hello_world(),
  8.     A+B.
  9.  
  10.  
  11.    
  12. fillTower(0) -> [];
  13.    
  14. fillTower(X) when X>=1 ->
  15.     [X|fillTower(X-1)].
  16.    
  17.    
  18. createTowers(X) ->
  19.     List = [
  20.     {a,lists:seq(1,X)},
  21.     {b,[]},
  22.     {c,[]}].
  23.  
  24.    
  25. move(X,List,From,To,Aux) when X>1 ->
  26.    
  27.     Source = proplists:get_value(From, List),
  28.     Dest = proplists:get_value(To, List),
  29.     Help = proplists:get_value(Aux, List),
  30.        
  31.     Temp1 = lists:nth(1,Source),
  32.     NewDest = [Temp1|Dest],
  33.     [Temp1 | NewSource]=Source,
  34.    
  35.     NewGame = [{From, NewSource}, {To, NewDest},{Aux ,Help}],
  36.     displayTowers(proplists:get_value(a,NewGame),proplists:get_value(b,NewGame),proplists:get_value(c,NewGame)),
  37.     NewGame.
  38.    
  39.  
  40. solve(0, Game, _, _, _) ->
  41.     Game;
  42. solve(N,Game,From,To,Aux) ->
  43.     Game1 = move(N-1,Game,From,Aux,To),
  44.     Game2 = move(1,Game1,From,To,Aux),
  45.     solve(N-1,Game2,Aux,To,From).
  46.    
  47. displayTowers(A, B, C) ->
  48.     io:format("~n~s~w~n~s~w~n~s~w~n------------------------------~n", ["Tower A: ", A, "Tower B: ", B, "Tower C: ", C]).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement