Advertisement
andry1b45

Untitled

May 23rd, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3. #include <Windows.h>
  4. using namespace std;
  5.  
  6.  
  7. int main(){
  8.     SetConsoleCP(1251);
  9.     SetConsoleOutputCP(1251);
  10.     cout << "Додаткове завдання №5" << endl << "Бершадський Андрій Денисович ІС-81" << endl << endl;//вивід даних про роботу
  11.  
  12.     unsigned long in_val, tmp_val;                  //змінні числа, яке буде зсуватис та та місця, де воно буде зберігатись
  13.     cout << "Введіть число для циклічного зсуву: ";
  14.     cin >> in_val;
  15.  
  16.     tmp_val = in_val;
  17.     unsigned long power;                                       
  18.     power = pow(2, floor(log2(in_val)) + 1);
  19.     tmp_val = in_val;
  20.     unsigned long max_val = in_val;                             //ініціалізуємо змінну максимального значення
  21.     do{
  22.         in_val = in_val << 1;
  23.         in_val = in_val % power + (in_val >= power ? 1 : 0);
  24.         if (max_val < in_val){                                  //порівняння для знаходження максимального значення
  25.             max_val = in_val;
  26.         }
  27.     } while (tmp_val != in_val);
  28.     cout << "Максимальне значення m: ";
  29.     cout << max_val << endl;
  30.     system("pause");
  31.     return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement