Есть диапазон чисел от 1 до z. Как узнать, сколько из них делятся сразу на 2 числа m и n. К примеру: z = 5, m = 1, n = 2. Сколько чисел в диапазоне от 1 до 5 делятся сразу и на 2 и на 3.
Условие : Есть диапазон чисел от 1 до z. Как узнать, сколько из них делятся сразу на 2 числа m и n. К примеру: z = 5, m = 1, n = 2. Сколько чисел в диапазоне от 1 до 5 делятся сразу и на 2 и на 3.
-------------------------
Полагаем, что z - целое. если нет, то надо приравнять его целой части от z.
Нужно поделить z на k=НОК(m,n ) и взять целую часть частного.
Так в приведенном примере z=5 5:НОК(1,2)=2 и 1 в остатке. Ответ 2 числа. Действительно в диапазоне от 1 до 5 два числа делятся на 2. Это 2 и 4.
5/НОК(2,3)=0 и 5 в остатке. Ответ в данном диапазоне нет чисел одновременно делящихся на 2 и на 3.
НОК(m,n )- наименьшее общее кратное чисел m и n .
1 votes Thanks 1
Noggato
Хмм. Обнаружил что-то странное. Этот алгоритм работает, но при маленьких числах. То есть при z=5,n=1,m=2 все работает. Но если взять z=10000, n=100, m= 200, то уже происходят чудеса. Формула z/(m*n) выдает, что в диапазоне от 1 до 10000 нет чисел, которые одновременно делятся и на 100 и на 200, но если попробовать перебрать, то выяснится, что есть такие числа(к примеру 200, которые делится и на 100 и на 200)
iosiffinikov
Спасибо! Вы правы, примеры сбили с толку. Решил, что числа взаимно просты.Делить надо на НОК(m,n). Отметьте нарушение, пожалуйста.
Answers & Comments
Verified answer
Условие : Есть диапазон чисел от 1 до z. Как узнать, сколько из них делятся сразу на 2 числа m и n. К примеру: z = 5, m = 1, n = 2. Сколько чисел в диапазоне от 1 до 5 делятся сразу и на 2 и на 3.
-------------------------
Полагаем, что z - целое. если нет, то надо приравнять его целой части от z.
Нужно поделить z на k=НОК(m,n ) и взять целую часть частного.
Так в приведенном примере z=5 5:НОК(1,2)=2 и 1 в остатке. Ответ 2 числа. Действительно в диапазоне от 1 до 5 два числа делятся на 2. Это 2 и 4.
5/НОК(2,3)=0 и 5 в остатке. Ответ в данном диапазоне нет чисел одновременно делящихся на 2 и на 3.
НОК(m,n )- наименьшее общее кратное чисел m и n .