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

Попробуем применить знания, полученные при изучении Питона, чтобы решить математическую задачу за несколько минут. Метод решения задачи с применением математики очень прост, но вот подсчитать и не сбиться по точному количеству чисел трудно. Почему бы не поручить решить эту задачу Питону? Такое ему точно по зубам!


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

Условие задачи


Найти общее количество всех натуральных чисел, меньшие числа n, квадраты которых, делятся на число b.


Решение задачи в математике


Любой квадрат числа делится на само число, поэтому следующее число отстоит от первого на это же число. Поясним примером.


Допустим n=100, а b=15. Следовательно, последовательность этих чисел: 15, 30, 45, 60, 75, 90. А их общее количество равно 6.


Задача в Питоне решается следующим образом.


Из математики мы знаем, что признак делимости любого натурального числа на другое натуральное число - нулевой остаток.


В Питоне остаток деления числа x на число y можно найти через операцию x%y.


Также нужно учесть, что число не может быть меньше числа b. Это мы проверяем, заведя новое условие.
Исходные данные (n и b) вводим с клавиатуры.

В итоге, у вас может получится следующий код программы:


n=int(input("Введите максимальное натуральное число="))

b=int(input("Введите число на которое делить="))
s=0
for i in range(1,n-1):
if i**2%b==0):
s=s+1
print("Таких чисел=",s)

Эту задачу можно решить более лаконично, доведя код до трёх строк.


Поясню, что все найденные числа мы загоняем в новый генерируемый автоматически список с условиями и вычисляем его длину при помощи функции len().




n=int(input("Введите максимальное натуральное число="))
b=int(input("Введите число на которое делить="))
print(len([i for i in range(1,n-1) if i**2%b==0]))

Как видите, результат получается тот же самый.


Функция перевода целого двоичного числа в десятичное Площадь треугольника по формуле Герона на Питоне