aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-09-21 22:02:37 +0100
committerGitHub <noreply@github.com>2020-09-21 22:02:37 +0100
commit1a19cb04a9d7823634cac7864387d8a8eaae5637 (patch)
tree2cf076085f7884e56f27ff41e994715d5ba44a72
parent2549f8a79a06b7580ec34978c66b71016f140be2 (diff)
parent38e0c835523f6017293d39e6ab32ea4c296d0463 (diff)
downloadperlweeklychallenge-club-1a19cb04a9d7823634cac7864387d8a8eaae5637.tar.gz
perlweeklychallenge-club-1a19cb04a9d7823634cac7864387d8a8eaae5637.tar.bz2
perlweeklychallenge-club-1a19cb04a9d7823634cac7864387d8a8eaae5637.zip
Merge pull request #2337 from vinodk89/master
Solutions for challenge 79
-rw-r--r--challenge-079/vinod-k/ch-1.pl31
1 files changed, 31 insertions, 0 deletions
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;
+}
+