PYTHON. 80 баллов. Решить с помощью циклов, диапазонов 1)Напишите программу, которая...

0 голосов
478 просмотров
спросил от Начинающий (950 баллов) в категории Информатика

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


0
оставил комментарий от Отличник (9.7k баллов)

А что должно выводиться в первом задании?  Из условия не понятно.

0
оставил комментарий от Начинающий (950 баллов)

Натуральные числа в заданном диапазоне

0
оставил комментарий от Начинающий (950 баллов)

Ой, ПРОСТЫЕ числа в заданном диапазоне*

1 Ответ
0 голосов
ответил от Бакалавр (13.9k баллов)

Задание №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)))))



...