Finish factor utility

This commit is contained in:
joachimschmidt557 2019-03-11 19:22:19 +01:00
parent 381e3737da
commit 083fe00372
3 changed files with 15 additions and 6 deletions

View file

@ -7,4 +7,4 @@ proc main(files:seq[string]) =
while not s.atEnd: while not s.atEnd:
write(stdout, s.readChar) write(stdout, s.readChar)
dispatch(main) dispatch(main, version=("version", nimbaseVersion))

View file

@ -1,11 +1,19 @@
import cligen import cligen, sequtils
import common import common
proc factor(num:int):seq[int] = proc factor(num:int):seq[int] =
result = @[0] result = @[]
var i = num
while i > 1:
for x in 2..i:
if i mod x == 0:
result.add(x)
i = i div x
break
proc main(integers:seq[int]) = proc main(integers:seq[int]) =
for number in integers: for number in integers:
echo number, ": ", factor(number) echo number, ": ",
map(factor(number), proc(x:int):string = $x & " ").foldl(a & b)
dispatch(main) dispatch(main)

View file

@ -1,10 +1,11 @@
import cligen import cligen
import common import common
proc main(last:int, first=1, increment=1) = proc main(last:int, first=1, increment=1, separator="\n") =
var i = first var i = first
while i <= last: while i <= last:
echo(i) write(stdout, i)
write(stdout, separator)
i = i + increment i = i + increment
dispatch(main, version=("version", nimbaseVersion)) dispatch(main, version=("version", nimbaseVersion))