1. Вычисляем значение цифр:
Например, в таблице дано, что 0000 = 4, соответственно каждый ноль означает единицу
1 = 0
2 = 0
3 = 0
5 = 0
6 = 1
7 = 0
8 = 2
9 = 1
0 = 1
2. Находим значения неизвестных цифр:
6855 = 1 + 2 + 0 + 0 = 3
9881 = 1 + 2 + 2 + 1 = 5
6591 = 1 + 0 + 1 + 0 = 2
3. Решаем примеры (если учесть, что цифры из предыдущего номера идут по порядку):
675 ÷ 3 - 215 = 10
475 × 5 ÷ 5 - 420 = 55
(2 - 1) × 83 = 83
4. Теперь нужно разобраться с цифрами, которые идут после примеров (три, один, один):
Тут, как я думаю, есть два варианта решения. Первый заключается в том, что к окончаниям цифр, которые получились в 3 номере, нужно добавить те цифры, которые написаны, то есть: 10 - 103, 55 - 551, 83 - 831.
На сейфе 12 позиций (цифр), то есть один круг равняется 12, соответственно:
103 ÷ 12 = 8 с остатком 7
551 ÷ 12 = 45 с остатком 11
831 ÷ 12 = 69 с остатком 3
Я считаю, что данное решение не правильное, так как крутить 69 раз не кажется мне разумным
Второе решение - окончания цифр, которые получились в 3 номере, заменяются на три, один, один: 10 - 13, 55 - 51, 83 - 81.
Делим на 12 (сейф):
13 ÷ 12 = 1 с остатком 1
51 ÷ 12 = 4 с остатком 3
81 ÷ 12 = 6 с остатком 9
В данном решении необходимо сделать максимум 6 оборотов, что кажется мне наиболее правильным.
ответ: 1 оборот по часовой, останавливается на цифре 1; 4 оборота против часовой, останавливается на 3; 6 оборотов по часовой, останавливается на 9.
Внимание! Не факт, что данное решение является правильным.
#include <iostream>
int main() {
const int SIZE = 10;
bool isSence = false;
int sum = 0;
int count = 0;
int arr[SIZE];
for (int i = 0; i < SIZE; i++)
{
arr[i] = rand() % 20 - 10; // "рандомно" заполняем массив от -10 до 10
std::cout << arr[i] << "\t"; // выводим массив в консоль
if (arr[i] >= 0)
isSence = true;
}
for (int i = 0; i < SIZE; i++)
{
if ((isSence) && (arr[i] > 0))
sum += arr[i]; //sum = sum + arr[i];
count++;
}
if (isSence)
std::cout << "\nсреднее арифметическое положительных чисел = " << double(sum) / count << std::endl; // явное приведение типов
else
std::cout << "\nВ массиве нету положительных чисел или нету нулей и/или отрицательных чисел" << std::endl;
return 0;
}