Объяснение:
#include "pch.h"
#include <stdio.h>
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int num, k=0;
string str;
cout << "Введи многозначное число" << endl;
cin >> num;
while (num != 0)
{
k += 1;
num /= 10;
}
if(k==1)
{
cout << k << " цифра" << endl;
}
else if (k >= 2 && k <= 4) {
cout << k << " цифры" << endl;
}
else {
cout << k << " цифр" << endl;
}
system("pause");
return 0;
}
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.
Внимание! Не факт, что данное решение является правильным.
Поделитесь своими знаниями, ответьте на вопрос:
Напишите функцию print(vector a, int size = -1), которая выводит весь вектор чисел, если size не указан и size элементов, если в функцию передается значение этого параметра. формат входных данных в первой строке задается натуральное число n - количество чисел последовательности. (n < 105 в следующей строке вводятся через пробел n целых чисел, по модулю не превосходящих 109. в последней строке вводится целое неотрицательное число m, меньшее n. формат выходных данных в первой строке выведите только первые m элементов последовательности через пробел, а во второй - всю последовательность чисел через пробел. входные данные 6 1 3 2 -5 3 -1 3 выходные данные 1 3 2 1 3 2 -5 3 -1
void print(vector<int> a, int size = -1)
{
for(int i = 0, d = 0; i < size; i++)
{
cout << a[i] << " ";
if (i == size - 1 && d != 1)
{
cout << "\n";
size = a.size();
i = -1;
d++;
}
}
}
Объяснение:
МШП?