Harshad or Niven series: Difference between revisions
m
→Python: Functional: Updated primitives
Not a robot (talk | contribs) (Add PL/M) |
m (→Python: Functional: Updated primitives) |
||
Line 3,239:
'''Sum of the decimal digits of n.'''
def go(x):
return
return sum(unfoldl(go)(n))
#
# main :: IO ()
def main():
Line 3,266:
#
# take :: Int -> [a] -> [a]
Line 3,297 ⟶ 3,281:
# unfoldl :: (b -> Maybe (b, a)) -> b -> [a]
def unfoldl(f):
'''A lazy (generator) list unfolded from a seed value
'''
def go(v):
if mb.get('Nothing'):▼
return xs▼
else:▼
x, r = mb.get('Just')▼
xs.insert(0, r)▼
▲ return xs
return lambda x: go(x)▼
#
# fTable :: String -> (a -> String) ->
#
def fTable(s):
'''Heading -> x
fx display function
'''
def
))▼
return y.rjust(w, ' ') + ' -> ' + (
fxShow(f(x))
return s + '\n' + '\n'.join(
return gof
Line 3,351 ⟶ 3,333:
# MAIN ---
if __name__ == '__main__':
main()
</lang>
{{Out}}
<pre>Harshad or Niven series:
|