galuhlulia
14.03.2020 07:09

2. В программе My7_2 реализован процесс, относительно которого выдвинута так называемая гипотеза Сиракуз. Это
процесс последовательного преобразования натурального
числа n в 1. Запустив программу, проверяем ее работу при не-
скольких значениях n и видим, что предусмотренный резуль-
тат каждый раз достигается. Отсюда мы делаем предположе-
ние, что работа программы завершится, то есть результат
будет получен при любом значении n. Однако с достовернос-
тью это неизвестно, доказательство факта завершения работы
программы (алгоритма) при любом значении n до сих пор ни-
кем не получено7
. Другими словами, есть алгоритм (програм-
ма), но его конечность, завершаемость работы во времени —
открытый вопрос, требующий своего обоснования. Мораль:
проверка циклов типа While требует особо тщательной рабо-
ты, ибо подобные циклы «потенциально бесконечны во време-
ни».
Program My7_2;
Var n:Integer;
Begin
WriteLn('Введите натуральное число:');
ReadLn(n);
Write(n);
While n<>1 Do Begin
If n Mod 2=0 Then n:=n Div 2
Else n:=(3*n+1) Div 2;
Write(' - ',n);
End;
ReadLn;
End.
Последовательно запуская программу, оцените среднюю
длину получаемых цепочек чисел при изменении n от 2 до 20.
Как избавиться от этой ручной работы по многократному
запуску программы?
Рассматривая полученные цепочки чисел, нетрудно заме-
тить, что фрагменты этих цепочек часто повторяются. Напри-
мер, 8421, 5168421. Как использовать этот
факт при подсчете средней длины цепочек для чисел (n) из
большого интервала, например типа Integer? Потребуется ли в
этом случае что-либо изменять в приведенном фрагменте про-
граммы?

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Sl1dan
07.02.2022 23:07

4) (1) Эдуард

6) Ангара

7) (1) 816 бит

8) (2) 2 Мбайт

Объяснение:

4) НЕ (Первая буква гласная) ИЛИ НЕ (Последняя буква согласная) ⇒ Первая буква согласная или Последняя буква гласная

Эдуард (Первая буква гласная и Последняя буква согласная)АнгелинаКаринаНикон

ответ: 1) Эдуард

6) Один символ кодируется 4 байтами (32 ÷ 8), из текста удалили 8 символов (32 ÷ 4). Лишние запятая и пробел занимают 8 байт (2 * 4) ⇒ название реки, которое удалили из списка, должно состоять из 6 букв.

Нил, Амур, Волга, Ангара, Макензи, Амазонка

ответ: Ангара

7) Как я любил твои отзывы, глухие звуки, бездны глас. - 51 символ (включая пробелы).

Каждый символ = 16 бит.

51 * 16 = 816 бит = 102 байт

816 бит408 байт102 бит51 байт

ответ: 1) 816 бит

8) 256 страниц. Каждая страница содержит 64 строки, а каждая строка - 64 символа. ⇒ 256 * 64 * 64 = 1.048.576 (всего символов)

1.048.576 * 16 = 16.777.216 бит = 2.097.152 байт = 2.048 Кбайт = 2 Мбайт (объём всех символов)

12162048

ответ: 2) 2 Мбайт


с номерами 4, 6, 7 и 8 (№4 не обязательно, но он на доп. оценку, так что была бы рада вашей Заранее
0,0(0 оценок)
Ответ:
seterkton
31.05.2021 19:15

#include <iostream> // подключаем библиотеку потокового ввода/вывода (cout/cin/...);

#include <ctime> // подключем библиотеку для возможности изменения стандартного генератора чисел (srand(...));

int main()

{

using namespace std; // используем пространство имен std;

setlocale(LC_ALL, "ru"); // возможность использования русского текста в консоли;

srand(time(NULL)); // генератор случайных числе;

const int N = 10;  // константный размер массива;

int A[N][N]; // обьявление двумерного массива;

cout << "Исходный двумерный массив: " << endl;

for (int i = 0; i < N; i++) // проходим по двумерному массиву используя 2 цикла;

{

 for (int j = 0; j < N; j++)

 {

  A[i][j] = rand() % 50; // заполняем двумерный массива случайными числами от 0 до 50;

  cout << A[i][j] << '\t'; // и сразу выводим его на экран;

 }

 cout << endl;

}

// ищем минимальное значение в массиве:  

int min = A[0][0]; // предположим, что первый элемент массива это минимальный элемент;

for (int i = 0; i < N; i++) // проходим по двумерному массиву используя 2 цикла;

{

 for (int j = 0; j < N; j++)

 {

  // если текущий элемент массива меньше min, тогда присваиваем переменной min это значение. Таким образом мы найдем минимальный элемент;

  if (min > A[i][j]) // если в теле условия/цикла ожидается 1 инструкция, то { } можно не ставить;

   min = A[i][j];

 }

}

// обнуляем все элементы массива, кроме элементов, расположеных на главной диагонали:

for (int i = 0; i < N; i++) // проходим по двумерному массиву используя 2 цикла;

{

 for (int j = 0; j < N; j++)

 {

  // если i будет равен j, то получится что мы идем по глвной диагонали: i=1:j=1, i=2:j=2, i=3:j=3 ...

  // поэтому, если i не равен j обнуляем элемент;

  if (i != j)  

   A[i][j] = 0;

 }

}

cout << "\nРезультат: " << endl;

for (int i = 0; i < N; i++)  // проходим по двумерному массиву используя 2 цикла;

{

 for (int j = 0; j < N; j++)

 {

  cout << A[i][j] << '\t'; // выводим то что получилось в консоль;

 }

 cout << endl;

}

cout << "\nМинимальный элемент в двумерном массиве = " << min << endl;

return 0;

}

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота