М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Kiper222
Kiper222
06.11.2022 08:29 •  Информатика

1. некоторый алгоритм из одного числа получает новое число следующим образом. сначала записывается исходное число, а затем к нему приписываются цифры исходного числа в обратном порядке, а в конец числа дописывается столько единиц, сколько нечётных цифр в числе. получившееся число является результатом работы алгоритма. дано число 33. сколько единиц будет содержаться в итоговом числе, если к исходному числу применить описанный алгоритм трижды (т. е. применить алгоритм к данному числу, а затем к результату вновь применить алгоритм и т.

👇
Ответ:
bazilik
bazilik
06.11.2022

1) 33 ⇒ 333311

2) 333311 ⇒ 333311113333111111

3) 333311113333111111 ⇒ 333311113333111111111111333311113333

Заметим, что в исходном числе все цифры нечетные и после любого приписывания все цифры будут нечетными (т.к. 1 - нечетна)

Т.е. при каждой работе алгоритма длин числа будет увеличиваться в три раза (само число, перевернутое и единицы по длине равные самому числу).

Соответственно после третьего применения алгоритма длина числа будет: 2 * 3 * 3 * 3 = 54

Выясним сколько среди них будет единиц. При каждом применении алгоритма количество троек будет увеличиваться в два раза (тройки самого числа и перевернутого).

Значит троек в конце будет: 2 * 2 * 2 * 2 = 16

Соответственно единиц будет 54 - 16 = 38

4,4(82 оценок)
Открыть все ответы
Ответ:
Wector11211
Wector11211
06.11.2022
//Видимо, это одна задача, так как "изменения" во второй не указаны
//Pascal ABC.NET v3.1 сборка 1172

Const
 n=20;

Var
 ar:array[1..n] of integer;
 i:integer;
begin
 randomize;
 writeln('First array:');
  for i:=1 to n do
   begin
    ar[i]:=random(10)-3;
    write(ar[i]:4);
    if ar[i]>0 then ar[i]:=ar[i]*2 else ar[i]:=0;
   end;
 writeln;
 writeln('Final array:');
  for i:=1 to n do
   write(ar[i]:4);
end.

Пример работы программы:
First array:   2  -3   5   6  -3  -3   1  -2  -3   1   3  -3   4  -3   1  -1   6   6   2   3
Final array:   4   0  10  12   0   0   2   0   0   2   6   0   8   0   2   0  12  12   4   6
4,6(7 оценок)
Ответ:
Клеоок
Клеоок
06.11.2022
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    using namespace std;
    cout << "Enter size of array: ";
    int N;
    cin >> N;
    int * ARR = new int[N];
    srand(time(0));
    int i;
    for (i = 0; i < N; ++i)
        ARR[i] = rand() % 100 + 1;

    cout << "Here is an original array:\n";
    for (i = 0; i < N; ++i)
        cout << ARR[i] << "  ";
    cout << endl;

    int temp = ARR[N - 1];
    for (i = N - 1; i > 0; --i)
        ARR[i] = ARR[i - 1];
    ARR[0] = temp;

    cout << "\nHere is a new array:\n";
    for (i = 0; i < N; ++i)
        cout << ARR[i] << "  ";
    cout << endl;

    return 0;
}
4,8(34 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ