Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int count_n(long int n){
- int result = 0;
- long int mask = 0x10000000;
- for(int i = 0; i < 32; i++){
- if(n & mask){
- result++;
- }
- mask>>=1;
- }
- return result;
- }
- int count_log2n(long int n){
- int result = 0;
- while(n != 0){
- if(n % 2 == 1) result++;
- n /= 2;
- }
- return result;
- }
- int sum_n(int n){
- int result = 0;
- for(int i = 0; i <= n; i++){
- result+=i;
- }
- return result;
- }
- int sum_1(int n){
- if(n < 1) return 0;
- return n+sum_1(n-1);
- }
- int search_n(int array[], const int SIZE, int element) {
- int index = -1;
- for(int i = 0; i < SIZE; i++){
- if(array[i] == element) {
- index = i;
- }
- }
- return index;
- }
- int main(){
- int task;
- cin >> task;
- long int number;
- int numberSum;
- const int SIZE = 10;
- int array[SIZE];
- int element;
- switch(task){
- case 1:
- cin >> number;
- cout << count_n(number) << " " << count_log2n(number);
- break;
- case 2:
- cin >> numberSum;
- cout << sum_n(numberSum) << " " << sum_1(numberSum);
- break;
- case 3:
- for(int i = 0; i < SIZE; i++){
- cin >> array[i];
- }
- cin >> element;
- cout << search_n(array, SIZE, element);
- break;
- default: cout<<"Wrong task number.";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement