Основные алгоритмы в помощь школьнику. Часть 1

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

Нахождение максимума среди n вводимых чисел (n > 0). Вводимые числа находятся в диапазоне [0, 30000]

# число вводимых чисел
n = int(input())
# в качестве максимального возьмем минимальное
# из возможных чисел - 0. Если пользователь введет хотя бы одно число
# оно окажется больше или равно 0
max = 0
for i in range(n):
    #вводим число для проверки на максимум
    a = int(input())
    if a > max:
        max = a
# выводим максимальное из введенных чисел на экран
print(max)

Нахождение максимума среди n вводимых чисел (n>0). Диапазон вводимых чисел неизвестен

# число вводимых чисел
n = int(input())
# в качестве максимального возьмем первое введенное число
max = int(input())
# в цикле будет вводиться на 1 число меньше
for i in range(n-1):
    #вводим число для проверки на максимум
    a = int(input())
    if a > max:
        max = a
# выводим максимальное из введенных чисел на экран
print(max)

Найти максимальный элемент в списке без использования стандартных функций. Диапазон используемых чисел для списка неизвестен

list = [12, -4, 6, -303, 465, 46, 866, 111]
ln = len(list)
#в качестве максимального берем первый элемент списка
max = list[0]
#сравниваем с максимумом элементы, начиная со второго
for i in range(1, ln):
    if list[i] > max:
        max = list[i]
#выводим максимальный элемент на экран
print(max)

Найти сумму цифр в числе

n = int(input())
s = 0
while n > 0:
    a = n % 10 #последняя цифра числа
    s = s + a #добавляем последнюю цифру к сумме
    n = n // 10 # удаляем последнюю цифру
print(s)

В диапазоне чисел от 1 до 100 найти среднее арифметическое чисел, кратных 3 и оканчивающихcя на 2

n = 0 #количество цифр
s = 0 # сумма цифр
for i in range(1, 101):
    # проверяем числа на условия
    if i % 3 == 0 and i % 10 == 2:
        s = s + i #сумма
        n = n + 1 #количество
print(s/n)

Напишите программу, которая заполняет массив из N элементов степенями числа 2, начиная с  1 до  N, в обратном порядке.

n = int(input())
list = []
for i in range(n + 1):
    list.append(2 **(n - i))
print(list)

В списке из 50 случайных чисел найти сумму случайных трех элементов

import  random
#список 50 случайных чисел в диапазоне 0..100
l = [random.randint(0, 100) for i in range(50)]
print(l)
# начальное значение суммы
s = 0
for i in range(3):
    # случайное число от 0 до 49 - случайный индекс списка
    a = random.randint(0, 49)
    #выводим номер элемента и сам элемент
    print(a, l[a])
    #суммируем
    s = s + l[a]
# выводим сумму
print(s)
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (16 голос, значение: 2,56 из 5)
Загрузка...
Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий

Антибот *