aboutsummaryrefslogtreecommitdiff
path: root/challenge-138/abigail/bc/ch-2.bc
blob: 340f9bfea7bb99fd1c05d6d5dbb1e8685015b92c (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
#
# See ../README.md
#

#
# Run as: bc ch-2.bc < input-file
#

define can_split (target, number) {
    if (target >  number || target < 0) {return 0}
    if (target == number)               {return 1}
    pow_10 = 10
    while (pow_10 <= number) {
        if (can_split (target - (number % pow_10), number / pow_10)) {
            return 1
        }
        pow_10 *= 10
    }
    return 0
}


while (1) {
    number = read (); if (number == 0) {break}
    if (can_split (sqrt (number), number)) {
        1
    } else {
        0
    }
}