aboutsummaryrefslogtreecommitdiff
path: root/challenge-150/deadmarshal/nim/ch2.nim
blob: 8ee8fb7801c6eccb6088b43ab7528e2fe6a13313 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import sequtils

proc primeFactors(num:int):seq[int] =
  var
    c:int = 2
    n:int = num
  while true:
    if(n mod c) == 0:
        result.add(c)
        n = n div c
    else: c += 1
    if n <= 1: break

proc squareFreeIntegers() =
  var
    factors:seq[int]
    i:int = 1
  while true:
    factors = primeFactors(i)
    if factors.len - deduplicate(factors).len == 0:
      stdout.write(i, ' ')
    i += 1
    if i >= 500: break
  
when isMainModule:
  squareFreeIntegers()