elsafrozen24
05.02.2022 15:01

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые положительные значения от 1 до 10 000 включительно. Напишите на одном из языков программирования программу, которая находит сумму минимального из чётных элементов массива и минимального из нечётных элементов массива, затем уменьшает все элементы массива, которые больше этой суммы, на величину этой суммы, и выводит изменённый массив в обратном порядке, по одному числу в строке. Если в массиве нет чётных или нечётных элементов, считается, что соответствующий минимум равен 0. Например, из массива
7, 5, 2, 4, 8, 10, 14, 15
программа должна получить массив
7, 5, 2, 4, 1, 3, 7, 8
и вывести (по одному числу в строке) числа:
8 7 3 1 4 2 5 7
PYTHON

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Лллиззза
04.06.2022 06:00
Делим группу чисел от 1 до 16 на 2 группы. 12345678 и 9 10 11 12 13 14 15 16
Спрашиваем больше ли 8 загаданное число? Допустим ответили, что не больше.
Тогда берём первую группу чисел и снова делим на 2 группы. 1234 5678. И снова задаём вопрос о величине числа относительно уже 4. Допустим отвечают, что больше.
Теперь берём группу чисел "5678" и снова делим её пополам (56 и 78). Проделываем всё то же самое.
Остаётся всего два числа и тут уже Не трудно будет узнать число. Суммируя число вопросов получается 4.
0,0(0 оценок)
Ответ:
tkstkn
25.10.2020 09:51
Код на VBScript - проверялся, работает

Function SumOfDividers(ByVal num)
    SumOfDividers = 0

    for i = 1 to num - 1
        if num mod i = 0 then SumOfDividers = SumOfDividers + i
    next
End Function

Sub Zadanie23317569(ByVal n)
    for i = 2 to n
        k = SumOfDividers(i)
        if SumOfDividers(k) = i then Msgbox i & " " & k
    next
End Sub

Zadanie23317569 300

Код на VB.Net  - исправление как догадалась, не проверялось

Sub Main(ByVal n)
    Dim i As Integer
    Dim k As Integer

    for i = 2 to n
        k = SumOfDividers(i)
        if SumOfDividers(k) = i then Console.WritelLine(i & " " & k)
    next
End Sub

Function SumOfDividers(ByVal num As Integer) As Integer
    Dim i As Integer
    SumOfDividers = 0

    for i = 1 to num - 1
        if num mod i = 0 then SumOfDividers = SumOfDividers + i
    next
End Function
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота