Твоя программа ищет числа, которые делятся ХОТЯ БЫ на одно из чисел: 2, 3, 5. Нужно найти числа, которые делятся ТОЛЬКО на 2, 3 и 5, и больше ни на что.
Для этого можно использовать функцию, проверяющую делители числа, и затем использовать её в основном цикле:
def делится_только_на_2_3_5(n):
for i in range(2, int(n**0.5) + 1):
if n % i == 0 and i not in (2, 3, 5):
return False
return True
N = int(input("Введите количество чисел N: "))
count = 0
num = 1
result = []
while count < N:
if делится_только_на_2_3_5(num):
result.append(num)
count += 1
num += 1
print("Первые", N, "натуральных чисел, которые делятся только на 2, 3 и 5:", result)
N = int(input("Введите кол-во чисел N: "))
num = 1
count = 0
result = []
while True:
if ((num % 2 == 0) or (num % 3 == 0) or (num % 5 == 0)) and (N > count):
count += 1
result.append(num)
num += 1
elif N == count:
break
else:
num += 1
continue
print("Первые", N, "натуральных чисел, которые делятся только на 2, 3 и 5:", result)
В ответе он выводит числа 8, 12, 14, которые не должны как это исправить?