В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
alinamagutina
alinamagutina
28.02.2020 03:49 •  Информатика

Написать пузырьковую сортировку в обратном направлении на основе кода во вложении. вложение: отсортировать от наибольшего значения к наименьшему # написать программу, которая сортирует массив # от наименьшего значения, к наибольшему # импортирую генератор случайных чисел import random mas = [] # введу количество элементов массива n = int(input('введите количество элементов массива: ')) count = 0 while count < n: # генерация случайного целого числа от 0 до 100 x = random.randint(0, 100) mas.append(x) count += 1 print(mas) # определить длину массива l = len(mas) # зададим индексы для обхода i (внешний круг) и j (внутренний круг) i, j = 0, 0 # равносильно i = 0; j = 0 # реализую внешний цикл while i < l: # указываю правый элемент от текущего j = i+1 # реализация внутреннего цикла while j < l: # если текущий элемент больше правого, то поменять их местами if mas[i] > mas[j]: mas[i], mas[j] = mas[j], mas[i] j += 1 j = 0 i += 1 print(mas)

Показать ответ
Ответ:
vikaya2911
vikaya2911
19.09.2020 19:58
1. В приведенном коде ошибка. Не хватает ";" в третьей строке снизу.
2. Немного изменим ваш код и получим искомое значение x
Искомое число х = 16293

var
  x, y, a, b, k: integer;

begin
  k:=10000;
  repeat
    x:=k;
    a := 0; b := 0; y := 1;
    while x > 0 do
    begin
      if (x mod 10) mod 2 = 0
        then
        a := a * 10 + x mod 10
      else begin
        y := y * 10;
        b := b * 10 + x mod 10
      end;
      x := x div 10
    end;
    a := a * y + b;
    k := k + 1;
    until a = 26391;
    writeln(a:8, k-1:8); 
end.

 
0,0(0 оценок)
Ответ:
Akmosh2003
Akmosh2003
28.04.2022 15:16

55:5=11

365:11≈33(34) берём "34", чтобы перехлестнуть 365.

Так как 11-ый член является замыкающим (перехлёстывающим 365), тогда смотрим по ближайшим:

34*10=340 (340+34=374) - подходит, но это не максимум!

365 mod 10= 36, а это значит, что последующий член будет больше 365, а именно 395.

В задании сказано, что d должно быть максимальным, а "34" - это допустимое, но не максимально число, удовлетворяющее условию, даже минимальное (по результату).

Проверка:

34*11=374, значит, когда на экране выведется s:=340, n:=50, то, зайдя по следующему циклу, получится, что s:= 374, n:=55. На следующий цикл программа не пойдёт.

ответ: d=34. 

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