Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Код в питоне по информатике

Тимур Ахметзянов Ученик (94), на голосовании 4 дня назад
Рассматривается множество целых чисел, принадлежащих отрезку [14367; 69741],
оканчиваются либо на 47, либо на 74 и кратны одному из чисел 17 или 71. Найдите их количество, а также среднеарифметическое максимального и минимального таких чисел. В ответе запишите два числа через пробел: сначала количество, затем целую часть среднеарифметического значения.(нужно через for i in range)
Голосование за лучший ответ
Килл ми Мастер (2379) 1 месяц назад
Ох уж эти айтишники... Как собак
ПапаВысший разум (149125) 1 месяц назад
Тебе же лучше - больше заказов пиццы, на три копейки больше получишь, развозя её.
AlexKurov Мыслитель (9165) 1 месяц назад
 start = 14367 
end = 69741

# Переменные для подсчета и хранения максимума и минимума
count = 0
min_num = None
max_num = None

# Перебираем все числа в заданном диапазоне
for i in range(start, end + 1):
if (str(i).endswith("47") or str(i).endswith("74")) and (i % 17 == 0 or i % 71 == 0):
count += 1
if min_num is None or i < min_num:
min_num = i
if max_num is None or i > max_num:
max_num = i

# Рассчитываем среднеарифметическое
if count > 0:
average = (min_num + max_num) // 2
print(count, average)
else:
print(0, 0)
ПапаВысший разум (149125) 1 месяц назад
Здесь всё "прекрасно": от дебильного алгоритма тупого перебора, который тут нахрен не нужен, до множественных преобразований в строку одного и того же числа.
AlexKurov Мыслитель (9165) Папа, Не стояла задача в упрощении код
Евгений Куклич Знаток (310) 1 месяц назад
Короче делаешь фором от 14367 до 69741
Потом переводишь в строку берёшь последние 2 символа [:-2:]
если это 47 или 74 то к ответу прибавляешь 1 и ещё пишешь там минимум и максимум
принтишь ответ
Malenkiuprinter Kpachemokoc Профи (880) 1 месяц назад
 # Инициализация списка для хранения подходящих чисел 
numbers = []

# Проходим по всем числам в диапазоне [14367; 69741]
for i in range(14367, 69742):
# Проверяем, оканчивается ли число на 47 или 74
if i % 100 == 47 or i % 100 == 74:
# Проверяем, кратно ли число 17 или 71
if i % 17 == 0 or i % 71 == 0:
# Если число удовлетворяет всем условиям, добавляем его в список
numbers.append(i)

# Находим количество подходящих чисел
count = len(numbers)

# Находим минимальное и максимальное число
min_num = min(numbers)
max_num = max(numbers)

# Вычисляем среднее арифметическое минимального и максимального числа
average = (min_num + max_num) / 2

# Выводим количество чисел и целую часть среднего арифметического
print(count, int(average))
Похожие вопросы