Присоединиться

Информатика

Алгоритмы и программирование: решения задач

Разбор алгоритмов, циклы, условия и подсчёт результата исполнения.

Что выведет программа: сумма нечётных цифр числа 58371 (цикл while)Дана программа на языке Python. Сначала задаются значения `n = 58371`, `s = 0`, `k = 0`. Затем выполняется цикл `while n > 0:` с телом из трёх действий: `d = n % 10`, потом `if d % 2 == 1: s = s + d; k = k + 1`, потом `n = n // 10`. После завершения цикла выполняется команда `print(s, k)`. Определите, какие два числа будут выведены на экран, и объясните, что именно вычисляет эта программа.9–11 классАлгоритм Евклида: найдите НОД(1071, 462) и число квадратов из листа картонаПрямоугольный лист картона имеет размеры 1071 мм × 462 мм. Его требуется разрезать без остатка на одинаковые квадраты наибольшего возможного размера, причём стороны квадратов параллельны сторонам листа. Пользуясь алгоритмом Евклида, найдите сторону такого квадрата в миллиметрах и определите, сколько всего квадратов получится.9–11 классСколько обменов сделает сортировка пузырьком для массива 7 3 9 1 5Массив A = [7, 3, 9, 1, 5] сортируют по возрастанию методом пузырька: за один проход слева направо последовательно сравнивают соседние элементы A[j] и A[j+1] и меняют их местами, если A[j] > A[j+1]; проходы повторяют до тех пор, пока очередной проход не пройдёт без единого обмена. Определите, сколько обменов будет выполнено за всю сортировку и как будет выглядеть массив после первого прохода.9–11 классСколько программ исполнителя «прибавь 1, умножь на 3» переводят число 2 в число 22У исполнителя есть ровно две команды: команда «прибавь 1» увеличивает число на экране на единицу, команда «умножь на 3» увеличивает его в три раза. Программа для исполнителя — это непустая последовательность таких команд. Сколько существует различных программ, которые преобразуют число 2 в число 22? Две программы считаются различными, если они отличаются хотя бы одной командой или их порядком; промежуточные результаты могут быть любыми.9–11 классНайдите значение рекурсивной функции F(10), если F(n) = F(n−1) + F(n−2) + 1Рекурсивная функция задана следующим образом: $F(1) = 1$, $F(2) = 1$, а для всех целых $n > 2$ выполняется $F(n) = F(n-1) + F(n-2) + 1$. Вычислите значение $F(10)$ и укажите, на сколько оно отличается от десятого числа Фибоначчи, задаваемого теми же начальными условиями, но соотношением без слагаемого 1.9–11 классПри каких трёхзначных числах программа напечатает «ДА»: x % 7 == 3 and x % 5 == 2Программа считывает с клавиатуры натуральное число x и печатает слово «ДА», если одновременно истинны два условия: `x % 7 == 3` и `x % 5 == 2`; в противном случае программа печатает «НЕТ». Найдите наименьшее трёхзначное число, при вводе которого программа напечатает «ДА», и определите, сколько всего трёхзначных чисел обладают этим свойством.9–11 классСколько программ переводят 2 в 26, проходя через 10 и не проходя через 17У исполнителя две команды: «прибавь 1» увеличивает число на экране на единицу, «умножь на 2» удваивает его. Программа — непустая последовательность таких команд. Траекторией вычислений называется последовательность всех чисел, которые появлялись на экране, включая исходное число 2 и результат 26. Сколько существует различных программ, которые преобразуют число 2 в число 26, причём траектория содержит число 10 и не содержит числа 17?9–11 классНайдите все числа от 1000 до 2000, у которых ровно три различных делителяТребуется написать программу, которая находит все натуральные числа на отрезке от 1000 до 2000 включительно, имеющие ровно три различных натуральных делителя (единица и само число тоже считаются делителями). Определите, какие это числа, обоснуйте, почему их структура именно такая, и объясните, во сколько примерно раз ускорится проверка одного числа, если перебирать делители не до n, а до квадратного корня из n.9–11 класс