1. = А(B+B+C) = A(2B + C)
Задание №1.
<span>k = int(input('Начало диапазона '))
n = int(input('Конец диапазона '))
a = [0] * n <span># создание массива с n количеством элементов
</span>for i in range(n): <span># заполнение массива
</span> a[i] = i
a[1] = <span>0
</span>
m = 2 <span># замена на 0 начинается с 3-го элемента
</span>while m < n: <span># перебор всех элементов до заданного числа
</span> if a[m] != 0:
j = m * 2
while j < n:
a[j] = 0
j = j + m
m += <span>1
</span>
<span># вывод простых чисел на экран
</span>b = []
for i in a:
if a[i] != 0 and i >= k:
b.append(a[i])
del a
print(b)
Задание №2
</span>
<span>count = <span>0
</span>for i in range(13):
for j in range(11):
for k in range(9):
if 185 == i*15+j*17+k*21:
count += <span>1
</span> print(i,j,k)
print('Всего способов - ', count)
Задание №3
</span>
<span>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)))))
</span>
Для приведения к СКНФ необходимо построить таблицу истинности, выбрать из нее строки, где функция принимает нулевое значение, а затем записать конъюнкции всех таких строк, где каждым элементом будет дизъюнкция переменных, взятых с инверсией.
<u>Перевожу на простой язык.</u>
Ищем в таблице истинности строки со значением функции, равным 0.
Для каждой такой строки берем переменные (обозначим переменную Р), и там где в колонке для Р записан 0, пишем Р, а где единица, пишем ¬Р.
Все эти Р для одной строки соединяем через ∨ и заключаем в круглые скобки. Так повторяем для каждой нулевой строки. Между скобками пишем ∧
Результаты даны во вложениях.
Для лёгкости передачи и воспринимания информации
Листинг программы в приложении
Программа считывает файл input.txt вида
123 123.00
87 87.0000
567 87.3
987 882.45
и сравнивает integer и real записанные через пробел.