diff options
| author | Timofey Potapov <timofey.potapov@otrs.com> | 2022-11-21 13:04:36 +0100 |
|---|---|---|
| committer | Timofey Potapov <timofey.potapov@otrs.com> | 2022-11-21 13:04:36 +0100 |
| commit | f996ce87693ee4be899ae6b407e4b344d2adeb4c (patch) | |
| tree | 334a30a2e4013af7f13764b4efa6ae1f16c9f72a | |
| parent | 8ea75399a70f8ab625f105a9d5ca011759e9dc19 (diff) | |
| download | perlweeklychallenge-club-f996ce87693ee4be899ae6b407e4b344d2adeb4c.tar.gz perlweeklychallenge-club-f996ce87693ee4be899ae6b407e4b344d2adeb4c.tar.bz2 perlweeklychallenge-club-f996ce87693ee4be899ae6b407e4b344d2adeb4c.zip | |
Init.
| -rwxr-xr-x | challenge-192/tim-potapov/perl/ch-1.pl | 55 | ||||
| -rwxr-xr-x | challenge-192/tim-potapov/perl/ch-2.pl | 63 |
2 files changed, 118 insertions, 0 deletions
diff --git a/challenge-192/tim-potapov/perl/ch-1.pl b/challenge-192/tim-potapov/perl/ch-1.pl new file mode 100755 index 0000000000..a626d6d3bd --- /dev/null +++ b/challenge-192/tim-potapov/perl/ch-1.pl @@ -0,0 +1,55 @@ +#!/usr/bin/env perl + +use strict; +use warnings; +use Test::More; + +=pod + +Task 1: Binary Flip +You are given a positive integer, $n. + +Write a script to find the binary flip. + +Example 1 +Input: $n = 5 +Output: 2 + +First find the binary equivalent of the given integer, 101. +Then flip the binary digits 0 -> 1 and 1 -> 0 and we get 010. +So Binary 010 => Decimal 2. +Example 2 +Input: $n = 4 +Output: 3 + +Decimal 4 = Binary 100 +Flip 0 -> 1 and 1 -> 0, we get 011. +Binary 011 = Decimal 3 +Example 3 +Input: $n = 6 +Output: 1 + +Decimal 6 = Binary 110 +Flip 0 -> 1 and 1 -> 0, we get 001. +Binary 001 = Decimal 1 + +=cut + +sub function { + my ( $input ) = @_; + +} + +my @cases = ( + { + Name => 'Example1', + Input => 1, + Output => 1, + }, +); + +for ( @cases ) { + is function( $_->{Input} ), $_->{Output}, "$_->{Name} - $_->{Input}"; +} + +done_testing(); diff --git a/challenge-192/tim-potapov/perl/ch-2.pl b/challenge-192/tim-potapov/perl/ch-2.pl new file mode 100755 index 0000000000..c1ed1b9a81 --- /dev/null +++ b/challenge-192/tim-potapov/perl/ch-2.pl @@ -0,0 +1,63 @@ +#!/usr/bin/env perl + +use strict; +use warnings; +use Test::More; + +=pod + +Task 2: Equal Distribution +You are given a list of integers greater than or equal to zero, @list. + +Write a script to distribute the number so that each members are same. If you succeed then print the total moves otherwise print -1. + +Example 1: +Input: @list = (1, 0, 5) +Output: 4 + +Move #1: 1, 1, 4 +(2nd cell gets 1 from the 3rd cell) + +Move #2: 1, 2, 3 +(2nd cell gets 1 from the 3rd cell) + +Move #3: 2, 1, 3 +(1st cell get 1 from the 2nd cell) + +Move #4: 2, 2, 2 +(2nd cell gets 1 from the 3rd cell) +Example 2: +Input: @list = (0, 2, 0) +Output: -1 + +It is not possible to make each same. +Example 3: +Input: @list = (0, 3, 0) +Output: 2 + +Move #1: 1, 2, 0 +(1st cell gets 1 from the 2nd cell) + +Move #2: 1, 1, 1 +(3rd cell gets 1 from the 2nd cell) + +=cut + +sub function { + my ( $input ) = @_; + +} + +my @cases = ( + { + Name => 'Example1', + Input => 1, + Output => 1, + }, +); + +for ( @cases ) { + is function( $_->{Input} ), $_->{Output}, "$_->{Name} - $_->{Input}"; +} + +done_testing(); |
