1. Каков будет вывод данной программы, если на вход подать 573? num = int(input())
summa = 0
a = num % 10
b = num // 10 % 10
c = num // 100 % 10
summa = a + b + c
print(summa)

2.С языка Python вычислите сумму .
1*2*3*4 + 2*3*4*5+ 3*4*5*6 + ... +47*48*49*50

3. Вычислите при языка Питон значение выражения 30! + 20!(факториал числа n — произведение всех натуральных чисел от 1 до n (n! = 1*2*3*...*n)

4. Исполнитель Калькулятор преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:

Прибавить 1
Умножить на 2
Умножить на 3
Сколько существует программ, для которых при исходном числе 1 результатом является число 38 и при этом траектория вычислений содержит число 12 и не содержит число 18?

korotkovavd2006 korotkovavd2006    1   17.03.2021 16:17    56

Ответы
vinerplay6 vinerplay6  22.12.2023 14:02
1. В данной программе, входное число 573 разбивается на отдельные цифры, с помощью операций деления нацело и получения остатка от деления на 10:
a = num % 10 # последняя цифра числа num
b = num // 10 % 10 # предпоследняя цифра числа num
c = num // 100 % 10 # третья с конца цифра числа num
Затем, сумма цифр вычисляется путем их сложения:
summa = a + b + c
И наконец, сумма выводится на экран:
print(summa)

Если на вход подать число 573, то результатом выполнения программы будет число 15, так как 5 + 7 + 3 = 15.

2. Для вычисления данной суммы можно использовать цикл и пошагово увеличивать значение каждого умножаемого числа. Вот подробное решение:

summa = 0
for i in range(1, 51):
product = 1
for j in range(i, i+4):
product *= j
summa += product

print(summa)

Переменная summa инициализируется нулем. Затем, во внешнем цикле происходит перебор чисел от 1 до 50. Для каждого числа i выполняется внутренний цикл, который начинается с числа i и заканчивается числом i+3. Произведение всех чисел в данном отрезке сохраняется в переменную product. Затем, данное произведение прибавляется к переменной summa. В результате, на экране будет выведена искомая сумма.

3. Для вычисления данного выражения можно воспользоваться рекурсией для вычисления факториала чисел 30 и 20, а затем сложить полученные значения:

def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)

result = factorial(30) + factorial(20)
print(result)

Функция factorial(n) вычисляет факториал числа n с помощью рекурсии. Если n равно нулю, то результатом будет 1. Иначе, результатом будет произведение n на результат вычисления факториала числа n-1. Для данной задачи, вычисляются факториалы чисел 30 и 20 с помощью этой функции, а затем их сумма выводится на экран.

4. Для решения данной задачи можно использовать перебор всех возможных программ и подсчет количества программ, которые удовлетворяют условиям.

count = 0

def calculator(num):
global count
if num == 38:
count += 1
elif num == 18:
pass
elif num > 1 and num % 2 == 0:
calculator(num // 2)
calculator(num - 1)
elif num > 1 and num % 3 == 0:
calculator(num // 3)
calculator(num - 1)
elif num > 1:
calculator(num - 1)

calculator(1)
print(count)

При выполнении программы, число 1 передается в функцию calculator(). Далее, с помощью рекурсии, происходит перебор всех возможных вариантов преобразования числа и проверка условий. Если текущее число равно 38, то переменная count увеличивается на 1. Если текущее число равно 18, то программа ничего не делает. Если текущее число четное, то вызывается рекурсивно функция calculator() для числа, полученного при делении на 2, и также для числа, уменьшенного на 1. Аналогично, если текущее число делится на 3, вызывается рекурсивно функция calculator() для числа, полученного при делении на 3, и для числа, уменьшенного на 1. Если текущее число больше 1, то также вызывается рекурсивно функция calculator() для числа, уменьшенного на 1. В итоге, на экран будет выведено количество программ, которые удовлетворяют условиям задачи.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика