From 38e0c835523f6017293d39e6ab32ea4c296d0463 Mon Sep 17 00:00:00 2001 From: vinodk89 Date: Mon, 21 Sep 2020 18:27:57 +0530 Subject: Solutions for challenge 79 --- challenge-079/vinod-k/ch-1.pl | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 challenge-079/vinod-k/ch-1.pl diff --git a/challenge-079/vinod-k/ch-1.pl b/challenge-079/vinod-k/ch-1.pl new file mode 100644 index 0000000000..5e844a17dc --- /dev/null +++ b/challenge-079/vinod-k/ch-1.pl @@ -0,0 +1,31 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +my $N = $ARGV[0] || 4; +my $bit_count; + +foreach my $i( 1..$N ){ + + $bit_count += getSetBit($i); +} + +print "For $N Set Bits are: $bit_count\n"; +print "`$bit_count` as `$bit_count % 1000000007` = ".$bit_count % 1000000007; +print "\n"; + +sub getSetBit { + my $n = shift; + + my $bin = sprintf ("%b", $n); + + my @bits = split(//, $bin); + + my $count = 0; + foreach my $each_n( @bits ){ + $count++ if( $each_n == 1); + } + return $count; +} + -- cgit