Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.81 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int count_n(long int n){
  6.    
  7.     int result = 0;
  8.    
  9.     long int mask = 0x10000000;
  10.    
  11.     for(int i = 0; i < 32; i++){
  12.         if(n & mask){
  13.             result++;
  14.         }  
  15.         mask>>=1;
  16.     }
  17.  
  18.     return result;
  19.    
  20. }
  21.  
  22. int count_log2n(long int n){
  23.    
  24.     int result = 0;
  25.    
  26.     while(n != 0){
  27.         if(n % 2 == 1) result++;
  28.        
  29.         n /= 2;
  30.     }
  31.    
  32.     return result;
  33. }
  34.  
  35. int sum_n(int n){
  36.    
  37.     int result = 0;
  38.    
  39.     for(int i = 0; i <= n; i++){
  40.         result+=i;
  41.     }
  42.    
  43.     return result;
  44. }
  45.  
  46. int sum_1(int n){
  47.    
  48.     if(n < 1) return 0;
  49.  
  50.     return n+sum_1(n-1);
  51. }
  52.  
  53. int search_n(int array[], const int SIZE, int element) {
  54.    
  55.     int index = -1;
  56.    
  57.     for(int i = 0; i < SIZE; i++){
  58.         if(array[i] == element) {
  59.             index = i;
  60.         }
  61.     }
  62.    
  63.     return index;
  64. }
  65.  
  66.  
  67. int main(){
  68.     int task;
  69.     cin >> task;
  70.    
  71.    
  72.     long int number;
  73.     int numberSum;
  74.     const int SIZE = 10;
  75.     int array[SIZE];
  76.     int element;
  77.    
  78.     switch(task){
  79.         case 1:
  80.            
  81.             cin >> number;
  82.            
  83.             cout << count_n(number) << " " << count_log2n(number);
  84.        
  85.         break;
  86.        
  87.         case 2:
  88.            
  89.             cin >> numberSum;
  90.            
  91.             cout << sum_n(numberSum) << " " << sum_1(numberSum);
  92.                  
  93.         break;
  94.        
  95.         case 3:
  96.        
  97.             for(int i = 0; i < SIZE; i++){
  98.                 cin >> array[i];
  99.             }
  100.            
  101.             cin >> element;
  102.            
  103.             cout << search_n(array, SIZE, element);
  104.            
  105.  
  106.         break;
  107.        
  108.         default: cout<<"Wrong task number.";
  109.     }
  110.    
  111.    
  112.     return 0;
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement