diff options
| author | Walt Mankowski <waltman@pobox.com> | 2022-07-15 19:37:23 -0400 |
|---|---|---|
| committer | Walt Mankowski <waltman@pobox.com> | 2022-07-15 19:37:23 -0400 |
| commit | ea006adb9d66e2b866a61e37f35971a04f2714c6 (patch) | |
| tree | e1dabf64db7a18c74aaf764d95304c5840c9cb1d | |
| parent | 6b83acc095e4f60b07d0f4dee6286d77cbc2a734 (diff) | |
| download | perlweeklychallenge-club-ea006adb9d66e2b866a61e37f35971a04f2714c6.tar.gz perlweeklychallenge-club-ea006adb9d66e2b866a61e37f35971a04f2714c6.tar.bz2 perlweeklychallenge-club-ea006adb9d66e2b866a61e37f35971a04f2714c6.zip | |
perl solution to challenge 1
| -rw-r--r-- | challenge-173/walt-mankowski/perl/ch-1.pl | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/challenge-173/walt-mankowski/perl/ch-1.pl b/challenge-173/walt-mankowski/perl/ch-1.pl new file mode 100644 index 0000000000..4f5a49952f --- /dev/null +++ b/challenge-173/walt-mankowski/perl/ch-1.pl @@ -0,0 +1,27 @@ +#!/usr/bin/env perl +use v5.36; + +# Task 1: Esthetic Number +# +# You are given a positive integer, $n. +# +# Write a script to find out if the given number is Esthetic Number. +# +# An esthetic number is a positive integer where every adjacent +# digit differs from its neighbour by 1. +# +# For example, +# +# 5456 is an esthetic number as |5 - 4| = |4 - 5| = |5 - 6| = 1 +# 120 is not an esthetic number as |1 - 2| != |2 - 0| != 1 + +sub is_esthetic($n) { + my @d = split //, $n; + for my $i (1..$#d) { + return 0 unless abs($d[$i-1] - $d[$i]) == 1; + } + return 1; +} + +my $n = @ARGV[0]; +printf "%d is%s an esthetic number\n", $n, is_esthetic($n) ? "" : " not"; |
