diff options
added sem 14
1 files changed, 25 insertions, 0 deletions
| -rw-r--r-- | Sem. 14/task2.cpp | 25 |
diff --git a/Sem. 14/task2.cpp b/Sem. 14/task2.cpp new file mode 100644 index 0000000..f22e9ae --- /dev/null +++ b/Sem. 14/task2.cpp @@ -0,0 +1,25 @@ +#include <iostream> +using namespace std; + +void countBinaryElements(unsigned n, unsigned& zeros, unsigned& ones) +{ + if (n == 0) + return; + + int lastBit = n % 2; + if (lastBit == 1) + ones++; + else if (lastBit == 0) + zeros++; + countBinaryElements(n >> 1, zeros, ones); + +} +int main() +{ + int n; + cin >> n; + + unsigned ones = 0, zeros = 0; + countBinaryElements(n, ones, zeros); + cout << ones << " " << zeros; +}
\ No newline at end of file |
