Задание 1
#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::endl;
int main()
{
int arr[10]; //если у тебя дни недели то заменяй int на string
// Заполняем массив с клавиатуры
for (int i = 0; i < 10; i++) {
cout << "[" << i + 1 << "]" << ": ";
cin >> arr[i];
}
// И выводим заполненный массив.
cout << "\nВаш массив: ";
for (int i = 0; i < 10; ++i) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
Объяснение:
Примечание:
Если к числу в двоичной системе счисления приписывать в конец цифры, то число увеличивается и никак не может уменьшится. Поэтому, n<f(n). Следовательно, перебор различных чисел, принадлежащих отрезку [90;160], можно смело ставить до 160 (можно и меньше, но лень расписывать вычисления).
ToBinary - функция перевода числа из десятичной СС в двоичную. Можно писать любой алгоритм, необязательно в точности использовать мой.
FromBinary - функция перевода числа из двоичной СС в десятичную. Можно писать любой алгоритм, необязательно в точности использовать мой.
func - функция, которая выполняет преобразования числа согласно условию (пункты 1, 2, 3, 4).
Код кажется большим только из-за процедур и begin/endов. Без них - всего то 7 строчек :). В скринах можно проверить, действительно ли 19 (40-22+1).
Пример работы:
Поделитесь своими знаниями, ответьте на вопрос:
Составьте программу нахождения наибольшего общего делителя для двух чисел. (воспользоваться алгоритмом евклида алгоритм евклида поиска наибольшего общего делителя двух чисел: вычитай из большего меньшее, пока числа не станут равны. полученное значение и будет искомым.