Advertisement
Ansaid

Получить из числа единичку

Jan 31st, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1. /*Дано натуральное число N. Над ним можно произвести следующий набор операций:
  2.  
  3.     *вычитать единицу;
  4.     *делить на три, если число кратно трем;
  5.     *делить на два, если число четное.
  6. После выполнения одной из операций к полученному результату также можно применить указанные операции,
  7. и делается это до тех пор, пока результат не окажется равным 1.*/
  8.  
  9. #include <iostream>
  10. #include "locale.h"
  11. #include <cmath>
  12.  
  13. using namespace std;
  14.  
  15. int main()
  16. {
  17.     setlocale(LC_ALL, "RUS");
  18.     int x, i = 0;
  19.     cout << "Введите число: ";
  20.     cin >> x;
  21.     while(x != 1 && x != 0){
  22.         if(x % 3 == 0)
  23.             x = x / 3;
  24.         else if(x % 2 == 0)
  25.             x = x / 2;
  26.         else
  27.             x = x - 1;
  28.         i++;
  29.     }
  30.     cout << "Наименьшее количество операций, в результате выполнения которых\nбудет получена единица: " << i;
  31.     return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement