diff options
| author | dasJake <no_mail@github.com> | 2021-11-23 20:24:31 +0100 |
|---|---|---|
| committer | dasJake <no_mail@github.com> | 2021-11-23 20:24:31 +0100 |
| commit | 5e5a7ef993605b2d6abbcfe7e119482a04a0f7a2 (patch) | |
| tree | 9e1047ca16b78ba7d02f4fa4ad1cf97602fba836 | |
| parent | 59c35349871502dd9acedfcf24a01e24fc89ec54 (diff) | |
| download | perlweeklychallenge-club-5e5a7ef993605b2d6abbcfe7e119482a04a0f7a2.tar.gz perlweeklychallenge-club-5e5a7ef993605b2d6abbcfe7e119482a04a0f7a2.tar.bz2 perlweeklychallenge-club-5e5a7ef993605b2d6abbcfe7e119482a04a0f7a2.zip | |
140 debug decimal_to_binary sub
| -rw-r--r-- | challenge-140/jake/perl/ch-1.pl | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/challenge-140/jake/perl/ch-1.pl b/challenge-140/jake/perl/ch-1.pl index b165ee6dcf..b0c78536ed 100644 --- a/challenge-140/jake/perl/ch-1.pl +++ b/challenge-140/jake/perl/ch-1.pl @@ -15,26 +15,24 @@ printf ( "binary number a: %i\n", $a_binary ); # convert dec to bin sub decimal_to_binary { - my ( $power, $decimal_number ) = @_; + my ( $power, $decimal_number, $binary_quantum ) = @_; + if ( $decimal_number == 0 ) { return 0; - #exit; - } - elsif ( $decimal_number == 2**$power ) { - print "if\n$decimal_number\n$power\n\n"; - return 10**$power; - #exit; } - elsif ( $decimal_number <= 2**($power+1) ) { - $power++; - decimal_to_binary ( $power, $decimal_number ); - print "elsif\n$decimal_number\n$power\n\n"; + + if ( $decimal_number == 2**$power ) { + $binary_quantum += 10**$power; + return $binary_quantum; } - else { - return 10**($power+1); - $decimal_number -= 2**($power+1); + + if ( $decimal_number > 2**$power && $decimal_number < 2**( $power +1 ) ) { + $binary_quantum += 10**$power; + $decimal_number -= 2**$power; $power = 0; - print "else\n$decimal_number\n$power\n\n"; - decimal_to_binary ( $power, $decimal_number ); + return decimal_to_binary ( $power, $decimal_number, $binary_quantum ); } + + $power++; + return decimal_to_binary ( $power, $decimal_number, $binary_quantum ); }
\ No newline at end of file |
