aboutsummaryrefslogtreecommitdiff
path: root/challenge-147/abigail/bash/ch-2.sh
blob: ad63335bbabe34fba06b1521151a71337dad3f57 (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
#!/bin/sh

#
# See https://theweeklychallenge.org/blog/perl-weekly-challenge-147
#

#
# Run as: bash ch-2.sh
#

set -f

declare -A pentagon

while true
do    ((p = p + n + n + n + 1))
      ((n ++))
      pentagon[$p]=1

      for seen in "${!pentagon[@]}"
      do  if ((seen + seen < p)) && [ -v pentagon[$((p - seen))] -a \
                                      -v pentagon[$((p - seen - seen))] ]
          then echo $seen" "$((p - seen))
               break 2
          fi
      done
done