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

03 Простейшие программы

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

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

Задача 1#29035

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

Ответ дать как вывод (через пробел) программы на примере числа 629.

Показать ответ и решение
n = int(input())  
a1 = n % 10  
a2 = (n // 10) % 10  
a3 = n // 100  
print(a1 + a2 + a3)  
print(a1 * a2 * a3)

Ответ: 17 108

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

Задача 2#29036

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

Ответ дать как вывод программы на примере чисел 109  и 108  .

Показать ответ и решение
a, b = int(input()), int(input())  
if a > b:  
    print(1)  
elif b > a:  
    print(2)  
else:  
    print(0)

Ответ: 1

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

Задача 3#29037

Даны три натуральных числа A,B, C  . Определите, существует ли треугольник с такими сторонами. Если треугольник существует, выведите строку YES, иначе выведите строку NO.

Ответ дать как вывод(через пробел) программы на примере пар чисел (4, 9, 6) и (6, 18, 11).

Показать ответ и решение
a, b, c = int(input()), int(input()), int(input())  
if (a + b > c) and (a + c > b) and (b + c > a):  
    print("YES")  
else:  
    print("NO")

Ответ: YES NO

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

Задача 4#29038

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

Ответ дать как вывод(через пробел) программы на примере пар чисел (4, 3, 2, 3) и (6, 6, 2, 1).

Показать ответ и решение
a1, b1, a2, b2 = int(input()), int(input()), int(input()), int(input())  
if (a1 == a2 and b1 != b2) or (b1 == b2 and a1 != a2):  
    print("YES")  
else:  
    print("NO")

Ответ: YES NO

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

Задача 5#29039

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

Ответ дать как вывод программы на примере последовательности чисел: 4, 18, 21, 16, 1, 5. После вывода программы через пробел запишите первое нечетное число.

Показать ответ и решение
x = int(input())
while x % 2 == 0:
    x = int(input())
    s = x
print("BYE", x)

Ответ: BYE 21

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

Задача 6#29040

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

Ответ дать как вывод программы на примере числа 23  . Все выведенные числа указать через пробел.

Показать ответ и решение
n = int(input())  
i = 1  
while i ** 2 <= n:  
    print(i ** 2)  
    i += 1

Ответ: 1 4 9 16

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

Задача 7#29041

Выведите все элементы массива с четными индексами (то есть A[0], A[2], A[4], ...). В первой строке вводится количество элементов в массиве. Во второй строке вводятся элементы массива.

Ответ дать как вывод (через пробел) программы на примере массива из 8 чисел: [8, 1, -200, 4, 1, 99, 45, -4]

Показать ответ и решение
n = int(input())  
a = list(map(int, input().split()))  
for i in range(0, n, 2):  
    print(a[i])

Ответ: 8 -200 1 45

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

Задача 8#29042

Выведите значение наименьшего из всех положительных элементов в массиве. Известно, что в массиве есть хотя бы один положительный элемент. В первой строке вводится количество элементов в массиве. Во второй строке вводятся элементы массива, используйте для этого конструкцию list(map(int, input().split())).

Ответ дать как вывод программы на примере массива из 8 чисел: [8, 1, -200, 4, 1, 99, 45, -4]

Показать ответ и решение
n = int(input())  
a = list(map(int, input().split()))  
ans = 1000000  
for i in range(n):  
    if a[i] > 0 and a[i] < ans:  
        ans = a[i]  
print(ans)

Ответ: 1

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

Задача 9#29923

Дан массив a = [4, 5, 6], выведите его длину, используя встроенные функции. Ответ должен быть одной строкой на языке «Python» и не должен содержать пробелов.

Показать ответ и решение

Вывод - функция print().

Получить длину массива - фукнция len().

Ответ: print(len(a))

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

Задача 10#29924

Дана строка s = ’KRABOLOVKA’. Выведите количество символов O в этой строке. Ответ должен быть одной строкой на языке «Python» и не должен содержать пробелов.

Показать ответ и решение

Вывод - функция print().

Получить количество символов в строке - метод .count(’O’) к строке s.

Ответ: print(s.count('O'))

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

Задача 11#37243

Вам дано число n  . Затем Вам даны n  троек чисел вида (a,b,c)  . Ваша задача — посчитать сумму всех средних (имеется в виду элемент, расположенный в середине тройки, если упорядочить ее элементы по возрастанию) элементов среди всех троек.

Входные данные:

В первой строке входных данных записано одно число n  (1 ≤ n ≤ 100  ) — длина последовательности троек.

В следующих n  строках записано по три числа в каждой строке — элементы каждой тройки (1 ≤ a,b,c ≤ 100  ).

В качестве ответа запишите результат работы программы для входных данных, представленных в файле file.txt.

Пример входного файла:

2

4  9  5

6  1  3

Пояснение к примеру:

Средние элементы из каждой пары: 5  , 3  . Их сумма — 8  . Поэтому ответ на данный пример — 8  .

Вложения к задаче
Показать ответ и решение
f = open("file.txt")
n = int(f.readline())
ans = 0
for i in range(n):
    a, b, c = map(int, f.readline().split())
    ans += a + b + c - max(a, b, c) - min(a, b, c)
print(ans)

Ответ: 2529

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

Задача 12#37249

Вам дана последовательность A  , состоящая из n  чисел. Вам требуется найти количество инверсий в данной последовательности. Инверсией называется пара чисел (i,j)  , такая, что i < j  и при этом Ai > Aj  .

Входные данные:

В первой строке входных данных записано одно число n  (1 ≤ n ≤ 100  ) — длина последовательности A  .

В каждой из следующих n  строк записано по одному числу в строке — элементы последовательности A  (1 ≤ Ai ≤ 100  ).

В качестве ответа запишите одно число - результат работы программы для входных данных, представленных в файле file.txt.

Пример входного файла:

4

3

1

2

4

Пояснение к примеру:

Инверсиями в данной последовательности являются следующие пары чисел под следующими индексами: (1,2)  ,    (1,3)  . Поэтому ответ на данный пример — 2  .

Вложения к задаче
Показать ответ и решение
f = open("file.txt")
n = int(f.readline())
a = [int(f.readline()) for x in range(n)]
ans = 0
for i in range(n):
    for j in range(i + 1, n):
        if (a[i] > a[j]):
            ans += 1
print(ans)

Ответ: 1352

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

Задача 13#37250

Вам дана последовательность A  , состоящая из n  чисел. Ваша задача — определить минимальную сумму элементов среди всех подпоследовательностей последовательности A  .

Входные данные:

В первой строке входных данных записано одно число n  (1 ≤ n ≤ 100  ) — количество элементов в последовательности A  .

В следующих n  строках записаны n  чисел по одному числу в строке — элементы последовательности A  (− 100 ≤ Ai ≤ 100  ).

В ответ запишите одно число — результат работы программы для входных данных, представленных в файле file.txt.

Пример входного файла:

4

− 1

− 2

3

8

Пояснение к примеру:

Ответ на данный пример — − 3  .

Вложения к задаче
Показать ответ и решение
f = open("file.txt")
n = int(f.readline())
a = [int(f.readline()) for x in range(n)]
ans = 1000000000
for i in range(n):
    cnt = 0
    for j in range(i, n):
        cnt += a[j]
        ans = min(ans, cnt)
print(ans)

Ответ: -357

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

Задача 14#37274

Винни-Пух хочет навестить своего давнего друга — Кролика. У него есть смартчасы, которые выдают ему n  возможных маршрутов до дома Кролика.

Если Винни пойдет по i  -му пути, он достигнет дома Кролика через t
i  минут и при этом заплатит c
 i  мурлей.

Ваша задача — определить минимальную стоимость пути до дома Кролика, такого, что время движения Пуха при этом будет не более T  .

Входные данные:

В первой строке входных данных записаны два числа через пробел: n  и T  (1 ≤ n,T ≤ 1000  ) — количество маршрутов до дома Кролика и максимальное допустимое время пути соответственно.

В каждой из следующих n  строк записано по два числа в строке: ci  и ti  (1 ≤ ci,ti ≤ 1000  ) — стоимость в мурлях и длительность пути в минутах i  -го пути соответственно.

В качестве ответа запишите результат работы программы для входных данных, представленных в файле file.txt.

Пример входного файла:

3  70

7  60

1  80

4  50

Пояснение к примеру:

Если Пух пойдет первым путем, то потратит 7  мурлей. Пойти вторым он не сможет, так как второй путь слишком долгий. Ну а если Винни пойдет по третьему пути, то заплатит всего 4  мурля. Это и является минимальной стоимостью допустимого пути. Поэтому ответ на данный пример — 4  .

Вложения к задаче
Показать ответ и решение
f = open("file.txt")
n, t = map(int, f.readline().split())
ans = 100000000
for i in range(n):
    a, b = map(int, f.readline().split())
    if (b <= t):
        ans = min(ans, a)
print(ans)

Ответ: 5

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

Задача 15#38283

Напишите две функции, каждая из которых принимает в качестве аргументов натуральное число n  . Первая функция должна вычислять НОК(a,b)  , вторая — НОД(a,b)  .

Примечание: наименьшим общим кратным двух чисел a  и b  называется наименьшее число c  , такое, что  c  делится и на a  , и на b  . Наибольшим общим делителем двух чисел a  и b  называется наибольшее число c  , такое, что и a  , и b  делятся на c  .

Входные данные:

В первой строке входных данных записаны два числа a  , b  (1 ≤ a,b ≤ 100  ). В качестве ответа, запишите через пробел результат работы двух функций для чисел: a = 78  , b = 36  , сначала для функции НОК, а затем для функции НОД.

Пример входного файла:

16  12

Пояснение к примеру:

НОК(16,12) = 48  , НОД(16,12) = 4  . Поэтому ответ на данный пример — 4  48  .

Показать ответ и решение
def nok(a, b):
    for i in range(1, 100000):
        if (i % a == 0) and (i % b == 0):
            return i


def nod(a, b):
    res = 1
    for i in range(2, 100000):
        if (a % i == 0) and (b % i == 0):
            res = i
    return res


a, b = map(int, input().split())
print(nok(a, b), nod(a, b))

Ответ: 468 6

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

Задача 16#39462

На вход подается натуральное число N  . Напишите программу, которая находит сумму четных чисел от 1 до N  включительно. Дайте ответ для N = 50.

Показать ответ и решение
n = int(input())
s = 0
for i in range(1, n+1):
    if i % 2 == 0:
        s += i
print(s)

Ответ: 650

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

Задача 17#39463

На вход подается натуральное число N  . Напишите программу, которая среди чисел от 1 до N  включительно находит сумму квадратов тех чисел, что кратны 5. Дайте ответ для N = 100.

Показать ответ и решение
n = int(input())
s = 0
for i in range(1, n+1):
    if i % 5 == 0:
        s += i*i
print(s)

Ответ: 71750

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

Задача 18#40181

Напишите программу, которая получает на вход два числа в разных строчках — катеты прямоугольного треугольника и выводит целую часть его площади. Для решения данной задачи используйте команды int(input()), print() и математические операции.

В ответе напишите результат работы программы для чисел 13,15  .

Показать ответ и решение
a = int(input())
b = int(input())
print(a * b // 2)

Ответ: 97

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

Задача 19#40185

Напишите программу, которая получает на вход три числа в разных строчках и находит среднее по значению из них. Для решения данной задачи используйте только int(input()), print(), max(), min() и математические операции.

В ответе напишите результат работы программы для следующих чисел 123, 234,345  .

Примечание: max() и min() позволяют найти максимум и минимум из нескольких чисел.

Показать ответ и решение
a = int(input())
b = int(input())
c = int(input())
print(a + b + c - max(a, b, c) - min(a, b, c))

Ответ: 234

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

Задача 20#40187

Дано натуральное число N  — количество секунд, которые прошли с начала суток. Найдите количество целых часов и минут, что прошли с начала суток. Для решения задачи используйте целочисленное деление (∕∕  ) и деление по остатку (%  ).

В ответе укажите искомые часы и минуты через пробел для N =  10000

Показать ответ и решение
n = int(input())
print(n // 3600, n % 3600 // 60)

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