aboutsummaryrefslogtreecommitdiff
path: root/challenge-079/adam-russell/cpp/ch-1.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-079/adam-russell/cpp/ch-1.cpp')
-rw-r--r--challenge-079/adam-russell/cpp/ch-1.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/challenge-079/adam-russell/cpp/ch-1.cpp b/challenge-079/adam-russell/cpp/ch-1.cpp
new file mode 100644
index 0000000000..a1e03c7076
--- /dev/null
+++ b/challenge-079/adam-russell/cpp/ch-1.cpp
@@ -0,0 +1,21 @@
+#include <iostream>
+
+int count_bits(int n){
+ int set_bits = 0;
+ for(int i = 1; i <= n; i++){
+ int x = i;
+ while(x > 0){
+ int b = x & 1;
+ set_bits += b;
+ x = x >> 1;
+ }
+ }
+ return set_bits;
+}
+
+int main(int argc, char** argv){
+ int set_bits = count_bits(3);
+ std::cout << set_bits << " % 1000000007 = " << set_bits % 1000000007 << std::endl;
+ set_bits = count_bits(4);
+ std::cout << set_bits << " % 1000000007 = " << set_bits % 1000000007 << std::endl;
+} \ No newline at end of file