СРОЧНО!!! Калькулятор С++
Имеется калькулятор, который выполняет три операции:
прибавить к числу X единицу;
умножить число X на 2;
умножить число X на 3.
Определите, какое наименьшее число операций необходимо для того, чтобы получить из числа 1 заданное число N.
Входные данные:
Программа получает на вход одно число, не превосходящее 106.
Выходные данные:
Требуется вывести одно число: наименьшее количество искомых операций.
Answers & Comments
Код программы на языке C++:
#include <iostream>
#include <locale>
using namespace std;
int main(void) {
setlocale(LC_ALL, "Russian");
int x, kol = 0;
cout << "Введите число:" << endl;
cin >> x;
while (x != 1) {
if (x % 2 == 0) {
x /= 2;
++kol;
}
else {
if (x % 3 == 0) {
x /= 3;
++kol;
}
else {
x -= 1;
++kol;
}
}
}
cout << "Количество операций: " << kol << endl;
}