• Предмет: Информатика
  • Автор: Аноним
  • Вопрос задан 4 месяца назад

Для кожного цілого числа з інтервалу [A, B] знайдіть всі
його дільники, що кратні 5 та їх кількість//Python

Ответы

Ответ дал: biLOLbi
1

A = int(input("Введіть початкове число інтервалу: "))

B = int(input("Введіть кінцеве число інтервалу: "))

divisors = []

for i in range(A, B+1):

   if i % 5 == 0:

       divisors.append(i)

print("Дільники, що кратні 5:", divisors)

print("Кількість дільників, що кратні 5:", len(divisors))


Аноним: Можна питання? Ти займаєшся IT? Просто я вчуся у 8 класі та тільки почав вивчати python. І я не розумію що таке divisors,append.
p15: А в этой проге мало кто что поймет, т.к. она делает совсем не то, что надо в условии, но именно это записывает это число в список divisors. Это можно было слелать в одну строчку все, но это неверно
p15: списки учили?
Аноним: Что за списки?
biLOLbi: Дільники (divisors) - це числа, які діляться на деяке число без остачі. Наприклад, дільники числа 12 - це 1, 2, 3, 4, 6 і 12.

Метод append - це функція, що додає новий елемент в кінець списку (list) у програмуванні. Наприклад, якщо ми маємо список [1, 2, 3], то виклик методу append з аргументом 4 (list.append(4)) змінить список на [1, 2, 3, 4].
p15: в таблицу будут добавлены все числа кратные 5 от a до b, а не то, что надо по условию
Ответ дал: p15
1

Ответ:

for x in range (((int(input('a: '))-1)//5+1)*5,int(input('b: '))+1,5):

   print('\nx=',x,'\ndivisors =',*(i for i in range(5,x+1,5) if x%i==0),'\nnumber of divisors: ',sum(1 for i in range(5,x+1,5) if x%i==0))

Объяснение:

2 строки.

Как это работает?

Запрашивает a и b, формирует диапазон от a до b чисел, для которых надо найти делители. Т.к. делители кратны 5, то понятно что и нет смысла в этот диапазон запихивать что-то не кратное 5.

Затем по порядку берет эти числа и находит для них делители кратные 5.

В выводе все видно.

Оптимизации сделаны не все, но как по мне достаточно

Вас заинтересует