diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-06-20 01:18:04 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-20 01:18:04 +0100 |
| commit | 4db4747dce6f2e8b0d4a96d42247ed39f78a5711 (patch) | |
| tree | d70d2d548dae21c6bea287b3a6905b8a3f813751 /challenge-169 | |
| parent | 3c721fd7cdcea313d80381350fb247930b1f5a9d (diff) | |
| parent | 39682c26319bf11bd3ea14efdc4e0cd7b9b78d34 (diff) | |
| download | perlweeklychallenge-club-4db4747dce6f2e8b0d4a96d42247ed39f78a5711.tar.gz perlweeklychallenge-club-4db4747dce6f2e8b0d4a96d42247ed39f78a5711.tar.bz2 perlweeklychallenge-club-4db4747dce6f2e8b0d4a96d42247ed39f78a5711.zip | |
Merge pull request #6298 from PerlBoy1967/branch-for-challenge-169
w169 - Task 1 (Didn't have time for task 2)
Diffstat (limited to 'challenge-169')
| -rwxr-xr-x | challenge-169/perlboy1967/perl/ch-1.pl | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/challenge-169/perlboy1967/perl/ch-1.pl b/challenge-169/perlboy1967/perl/ch-1.pl new file mode 100755 index 0000000000..abbee6d5bc --- /dev/null +++ b/challenge-169/perlboy1967/perl/ch-1.pl @@ -0,0 +1,51 @@ +#!/bin/perl + +=pod + +The Weekly Challenge - 169 + - https://theweeklychallenge.org/blog/perl-weekly-challenge-169/#TASK1 + +Author: Niels 'PerlBoy' van Dijke + +Task 1: Brilliant Numbers +Submitted by: Mohammad S Anwar + +Write a script to generate first 20 Brilliant Numbers. + + || Brilliant numbers are numbers with two prime factors of the same length. + +The number should have exactly two prime factors, i.e. it’s the product of two +primes of the same length. + +=cut + +use v5.16; +use warnings; + +use Math::Factor::XS qw(prime_factors); + +# Prototype(s) +sub isBrilliantNumber($\@); + +my ($n,$b,@f) = (0,1); + +while ($n < 20) { + if (isBrilliantNumber($b,@f)) { + printf "%s => (%s)\n", $b, join(',',@f); + $n++; + } + $b++; +} + + +sub isBrilliantNumber($\@) { + my ($n,$arF) = @_; + + my @f = prime_factors($n); + if (scalar @f == 2 && length($f[0]) == length($f[1])) { + @$arF = @f; + return 1; + } + + return 0; +} |
