Skip to content

Instantly share code, notes, and snippets.

@equalunique
Created July 4, 2017 22:18
Show Gist options
  • Save equalunique/7d4ae47cc51489d5e1773c237fd8ca95 to your computer and use it in GitHub Desktop.
Save equalunique/7d4ae47cc51489d5e1773c237fd8ca95 to your computer and use it in GitHub Desktop.
-module(bits).
-export([bits/1]).
bitsDirectRecursion(0,R) ->
R;
bitsDirectRecursion(N,R) ->
Rem = N rem 2,
Num = N div 2,
Val = bitsDirectRecursion(Num,Rem),
Val + R.
bitsTailRecursion(0,R) ->
R;
bitsTailRecursion(N,R) ->
Rem = N rem 2,
Num = N div 2,
bitsTailRecursion(Num,Rem + R).
bits(N) ->
%bitsDirectRecursion(N,0).
bitsTailRecursion(N,0).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment