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

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. Строится двоичная запись числа N.
К этой записи дописываются справа ещё два разряда по следующему правилу: если N делится нацело на 4, в конец числа (справа) дописывается сначала ноль, а затем ещё один ноль; если N при делении на 4 даёт в остатке 1, то в конец числа (справа) дописывается сначала ноль, а затем единица; если N при делении на 4 даёт в остатке 2, то в конец числа (справа) дописывается сначала один, а затем ноль; если N при делении на 4 даёт в остатке 3, в конец числа (справа) дописывается сначала один, а затем ещё одна единица.
Например, двоичная запись 1001 числа 9 будет преобразована в 100101, а двоичная запись 1100 числа 12 будет преобразована в 110000.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа R − результата работы данного алгоритма.

Укажите максимальное число R, меньшее 111, которое может являться результатом работы данного алгоритма. В ответе это число запишите в десятичной системе счисления.

👇
Открыть все ответы
Ответ:
Dhnsmvrxjns
Dhnsmvrxjns
06.03.2020

ответ:

. в нужно вывести все составные числа из промежутка [2; n]. код программы:

program lab3;

var i,n,j,s,l: integer;

m: real;

begin

readln (n);

for i: =2 to n do

begin

s: =trunc (sqrt (i));

for l: =2 to s do

begin

m: = i mod l;

if m=0 then

write (' ',i);

end;

end;

end.

но проблема - как только s становится больше 2, составные числа начинают несколько раз повторятся, т.к., например 12 делится и на 2 и на 3. вопрос: как мне сделать выход из цикла после первого успешного деления?

var

i, n, j, s, l: integer;

m: real;

begin

readln(n);

for i : = 2 to n do

begin

s : = trunc(sqrt(i));

for l : = 2 to s do

begin

m : = i mod l;

if m = 0 then

begin

write(' ', i);

break;

4,5(23 оценок)
Ответ:

Напишите программу, которая выполняет неполную сортировку массива: ставит в начало

массива три самых меньших по величине элемента в порядке возрастания (неубывания).

Положение остальных элементов не важно.

2) Напишите программу, которая сравнивает число перестановок элементов при использовании сортировки «пузырьком», методом выбора и алгоритма быстрой сортировки. Проверьте ее на разных массивах, содержащих 1000 случайных элементов, вычислите среднее число перестановок для каждого метода.

3)Попробуйте построить массив из 10 элементов, на котором алгоритм быстрой сортировки показывает худшую эффективность (наибольшее число перестановок). Сравните это количество перестановок с эффективностью метода пузырька (для того же массива)

В 1 надо только одним сортировки и не используя быструю сортировку.

В 2 и 3 надо, чтобы были использованы несколько сортировки, включая быструю сортировку.

Объяснение:

ну вроде так

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