Тема Практика Программирования

02 Подготовка к 27

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела практика программирования
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#39466

На вход подаётся число N  , а затем N  натуральных чисел. Вывести наибольшее нечётное произведение двух из этих чисел. Если такого нет, выведите 0.

В ответе укажите число: ответ для приложенного файла.

Вложения к задаче
Показать ответ и решение
n = int(input())
maxim = 0
nums = []
for i in range(n):
    nums.append(int(input()))
for i in range(n):
    for j in range(i+1, n):
        if nums[i]*nums[j] % 2 != 0 and \
           nums[i]*nums[j] > maxim:
            maxim = nums[i]*nums[j]
print(maxim)

Ответ: 93718161

Ошибка.
Попробуйте повторить позже

Задача 2#39467

На вход программе даётся число N  , а затем N  положительных целых чисел. Необходимо вывести максимальное произведение двух чисел, кратное 15. Гарантируется, что хотя бы одно такое произведение есть.

В ответе укажите число: ответ для приложенного файла.

Вложения к задаче
Показать ответ и решение
n = int(input())
maxim = 0
nums = []
for i in range(n):
    nums.append(int(input()))
for i in range(n):
    for j in range(i+1, n):
        if nums[i]*nums[j] % 15 == 0 \
           and nums[i]*nums[j] > maxim:
            maxim = nums[i]*nums[j]
print(maxim)

Ответ: 96685080

Ошибка.
Попробуйте повторить позже

Задача 3#39471

Подается натуральное число n, затем n натуральных чисел. Требуется найти количество пар чисел, в которых числа будут равны друг другу. Парой считаются любые два различных числа (то есть разница в индексах может быть любой).

В ответе укажите число: ответ для приложенного файла.

Вложения к задаче
Показать ответ и решение
n = int(input())
nums = []
for i in range(n):
    nums.append(int(input()))
ans = 0
for i in range(n-1):
    for j in range(i+1, n):
        if nums[i] == nums[j]:
            ans += 1
print(ans)

Ответ: 11

Ошибка.
Попробуйте повторить позже

Задача 4#40227

Программа получает на вход две пары чисел и находит все возможные суммы из двух элементов, где один элемент из первой пары, а другой из второй. В ответе напишите значения искомых сумм через пробел в порядке возрастания для пар (17,98),(13,24 )  .

Подсказка: для хранения каждой пары чисел используйте массив или кортеж.

Показать ответ и решение
a = []
for i in range(2):
    a.append([int(x) for x in input().split()])
s = []
for i in range(2):
    for j in range(2):
        s.append(a[0][i] + a[1][j])
print(*sorted(s))

Ответ: 30 41 111 122

Ошибка.
Попробуйте повторить позже

Задача 5#40235

Напишите программу, которая получает на вход три пары чисел и находит все возможные суммы из трех элементов, где один элемент из первой пары, другой из второй и третий из третьей. В ответе напишите значения искомых сумм через пробел в порядке неубывания для пар (12,23 ),(32, 43),(19,28)  .

Показать ответ и решение
a = []
for i in range(3):
    a.append([int(x) for x in input().split()])
s = []
for i in range(2):
    for j in range(2):
        for k in range(2):
            s.append(a[0][i] + a[1][j] + a[2][k])
print(*sorted(s))

Ответ: 63 72 74 74 83 83 85 94

Ошибка.
Попробуйте повторить позже

Задача 6#40236

Напишите программу, которая получает на вход натуральное число N  и выводит на экран двоичную запись всех чисел от 0  до N  включительно. В ответе напишите двоичную запись чисел всех чисел от 0  до N =  7  через пробел в порядке возрастания.

Примечание использовать метод bin() запрещено.

Показать ответ и решение
n = int(input())
a = ["0"]
for i in range(1, n + 1):
    s = ""
    num = i
    while num > 0:
        s = str(num % 2) + s
        num //= 2
    a.append(s)
print(*a)

Ответ: 0 1 10 11 100 101 110 111

Ошибка.
Попробуйте повторить позже

Задача 7#40237

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

Примечание: использовать метод bin() запрещено.

Подсказка: чтобы получить нужное количество знаков используйте для перевода цикл for, а не while

Показать ответ и решение
a = []
for i in range(2 ** 4):
    s = ""
    num = i
    for j in range(4):
        s = str(num % 2) + s
        num //= 2
    a.append(s)
print(*a)

Ответ: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Ошибка.
Попробуйте повторить позже

Задача 8#40238

Даны 5  пар чисел (1,2),(2,3),(4,13),(92,8),(17,32)  , выберите из каждой пары по одному числу, чтобы сумма выбранных чисел была минимальна и кратна 5  . Разрешено использовать вложенность не более чем цикл в цикле. В ответе укажите значение искомой суммы.

Подсказка: двоичное число из 5-ти знаков может служить способом выбора элемента из пары 0 — a[0], 1 — a[1]:)

Показать ответ и решение
n = 5
a = []
minim = 10000000000000000
for i in range(n):
    a.append([int(x) for x in input().split()])
for i in range(2 ** n):
    num = i
    s = 0
    for j in range(n):
        s += a[j][num % 2]
        num //= 2
    if s < minim and s % 5 == 0:
        minim = s
print(minim)

Ответ: 125

Ошибка.
Попробуйте повторить позже

Задача 9#47568

Если перед нами стоит задача создать двумерный массив, в котором будет 3  строки и 3  столбца, где на каждой позиции стоять будет 0  , то НЕПРАВИЛЬНО это делать следующим образом: a = [[0]∗3]∗3.

Однако, создайте массив подобным образом, только в котором будет 100 строк и 100 столбцов, на каждой позиции чтобы стоял 0. После сделайте запись a[0][0] = 1  . Посчитайте общее количество получившихся единиц внутри двумерного массива.

Показать ответ и решение
a = [[0] * 100] * 100
a[0][0] = 1
ans = 0
for x in a:
    ans += x.count(1)
print(ans)

# Иначе:
ans = 0
for i in range(100):
    for j in range(100):
        ans += a[i][j] * (a[i][j] == 1)
print(ans)

Ответ: 100

Ошибка.
Попробуйте повторить позже

Задача 10#47569

На вход программе подаётся натуральное число N  — количество строк и столбцов в двумерном массиве, затем элементы двумерного массива (целые числа) построчно через пробел. Найдите сумму всех элементов, которые имеют одинаковый первый и второй индекс (или иными словами сумму элементов главной диагонали матрицы).

Вложения к задаче
Показать ответ и решение
f = open(’1.txt’)
n = int(f.readline())
a = []

for i in range(n):
    a.append([int(x) for x in f.readline().split()])

s = 0
for i in range(n):
    s += a[i][i]

print(s)

Ответ: 556

Ошибка.
Попробуйте повторить позже

Задача 11#47570

На вход программе подаётся натуральное число N  — количество строк и столбцов в двумерном массиве, затем элементы двумерного массива (целые числа) построчно через пробел. Найдите сумму всех элементов побочной диагонали матрицы.

Вложения к задаче
Показать ответ и решение
f = open(’3.txt’)
n = int(f.readline())
a = []

for i in range(n):
    a.append([int(x) for x in f.readline().split()])

s = 0
for i in range(n):
    s += a[i][n-i-1]

print(s)

Ответ: 438

Ошибка.
Попробуйте повторить позже

Задача 12#47571

На вход программе подаётся натуральное число N  — количество строк и столбцов в двумерном массиве, затем элементы двумерного массива (целые числа) построчно через пробел. В каждом одномерном массиве найдите максимальный элемент после чего найдите сумму всех максимумов. Другим языком − найти сумму значений максимумов из строчек в матрице. В качестве ответа укажите сумму всех максимальных элементов двумерного массива.

Вложения к задаче
Показать ответ и решение
f = open(’2.txt’)
n = int(f.readline())
a = []

for i in range(n):
    a.append([int(x) for x in f.readline().split()])

s = 0
for i in range(n):
    s += max(a[i])

print(s)

Ответ: 902

Ошибка.
Попробуйте повторить позже

Задача 13#47572

На вход программе подаётся натуральное число N  — количество строк и столбцов в двумерном массиве, затем элементы двумерного массива (целые числа) построчно через пробел. Напишите программу, которая находит индексы (строку и столбец) первого вхождения максимального элемента (во всем двумерном массиве).

Программа должна вывести два числа: номер строки и номер столбца, в которых стоит наибольший элемент двумерного массива. Если таких элементов несколько, то выводится тот, у которого меньше номер строки, а если номера строк равны то тот, у которого меньше номер столбца.

Вложения к задаче
Показать ответ и решение
f = open(’3.txt’)
n = int(f.readline())
a = []

for i in range(n):
    a.append([int(x) for x in f.readline().split()])

ind1 = 0
ind2 = 0
maxim = 0
for i in range(n):
    for j in range(n):
        if a[i][j] > maxim:
            maxim = a[i][j]
            ind1 = i
            ind2 = j

print(ind1, ind2)

Ответ: 0 5
Рулетка
Вы можете получить скидку в рулетке!