diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-11-15 13:47:38 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-15 13:47:38 +0000 |
| commit | 539750d62489e789280ec4d15a528f353e0c3baf (patch) | |
| tree | f0ab2104ba5bcb5336888de4b1457cc9dc95ccf6 | |
| parent | 253e59bd48e295150f8dd52a89e77933e34db7d8 (diff) | |
| parent | 9e888d2cb682624efcdc9fb3ce1ff981a9b5ca32 (diff) | |
| download | perlweeklychallenge-club-539750d62489e789280ec4d15a528f353e0c3baf.tar.gz perlweeklychallenge-club-539750d62489e789280ec4d15a528f353e0c3baf.tar.bz2 perlweeklychallenge-club-539750d62489e789280ec4d15a528f353e0c3baf.zip | |
Merge pull request #5228 from Abigail/abigail/week-138
bc solution for week 138, part 2
| -rw-r--r-- | challenge-138/abigail/bc/ch-2.bc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/challenge-138/abigail/bc/ch-2.bc b/challenge-138/abigail/bc/ch-2.bc new file mode 100644 index 0000000000..340f9bfea7 --- /dev/null +++ b/challenge-138/abigail/bc/ch-2.bc @@ -0,0 +1,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 + } +} |
