aboutsummaryrefslogtreecommitdiff
path: root/challenge-079/andinus/README.org
blob: 7248fc2b7bb4ad15f7f95e29379f42b29636c953 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#+SETUPFILE: ~/.emacs.d/org-templates/level-2.org
#+HTML_LINK_UP: ../index.html
#+OPTIONS: toc:2
#+EXPORT_FILE_NAME: index
#+TITLE: Challenge 079

* Task 1 - Count Set Bits
You are given a positive number $N.

Write a script to count the total numbrer of set bits of the binary
representations of all numbers from 1 to $N and return
=$total_count_set_bit % 1000000007=.
** Perl
- Program: [[file:perl/ch-1.pl]]

We loop from =1 ... $input=, convert each =$num= to binary & count the set
bits & add them to =$set_bits=.
#+BEGIN_SRC perl
my $input = shift @ARGV;

my $set_bits;
foreach my $num (1 ... $input) {
    my $binary = sprintf "%b", $num;
    my $count = $binary =~ tr/1//;
    $set_bits += $count;
}
print $set_bits % 1000000007, "\n";
#+END_SRC