aboutsummaryrefslogtreecommitdiff
path: root/challenge-139/abigail/awk/ch-2.awk
blob: dcc6f07d4c1fad074f9b22c52af05e640b5349d8 (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
28
29
30
31
32
33
34
35
#!/usr/bin/awk

#
# See ../README.md
#

#
# Run as: awk -f ch-2.awk < input-file
#

function is_long (number, rest, seen, i) {
    rest = 0
    delete seen
    for (i = 2; i <= number; i ++) {
        rest = (rest * BASE + BASE - 1) % number
        if (seen [rest]) {return 0}
        seen [rest] = 1
    }
    return 1
}

BEGIN {
    BASE   = 10
    COUNT  =  5
    number =  1

    while (COUNT > 0) {
        number ++
        if (BASE % number == 0) {continue}
        if (is_long(number)) {
            print (number)
            COUNT --
        }
    }
}