PYTHON. 80 баллов. Решить с помощью циклов, диапазонов
1)Напишите программу, которая получает натуральные числа A и B (A Пример:
Введите границы диапазона:
10 20
11 13 17 19
2)В магазине продается мастика в ящиках по 15 кг, 17 кг, 21 кг. Как купить ровно 185 кг мастики, не вскрывая ящики? Сколькими способами можно это сделать?
3)Ввести натуральное число N и вывести все натуральные числа, не превосходящие N и делящиеся на каждую из своих цифр.
Пример:
Введите N:
15
1 2 3 4 5 6 7 8 9 11 12 15
Answers & Comments
k = int(input('Начало диапазона '))
n = int(input('Конец диапазона '))
a = [0] * n # создание массива с n количеством элементов
for i in range(n): # заполнение массива
a[i] = i
a[1] = 0
m = 2 # замена на 0 начинается с 3-го элемента
while m < n: # перебор всех элементов до заданного числа
if a[m] != 0:
j = m * 2
while j < n:
a[j] = 0
j = j + m
m += 1
# вывод простых чисел на экран
b = []
for i in a:
if a[i] != 0 and i >= k:
b.append(a[i])
del a
print(b)
Задание №2
count = 0
for i in range(13):
for j in range(11):
for k in range(9):
if 185 == i*15+j*17+k*21:
count += 1
print(i,j,k)
print('Всего способов - ', count)
Задание №3
x = int(input())
print('\n'.join(
str(n) for n in range(x+1)
if all(x != 0 and n % x == 0 for x in map(int, str(n)))))