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

Ответы

Ответ дал: vladmor
0
Задание №1.

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)))))



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