Boвa (15.12.2019 10:20 - 11:13, просмотров: 200) ответил Sot на Имеет ли задача решение в заданном диапазоне чисел?
Ответ: все числа кратные 26771144400, которые попадают в интервал (232792560, 1000000000000000000), т.е. числа 26771144400*k, где k= [1..37353651] Словами записать условие нельзя? Или этот древняя гойловоломка?
Кстати, у вас else не туда приклеился. Логика внутреннего цикла - перебрать все числа от 2 до 25 включительно (можно перебирать и до 26 - решение не изменится) и если остаток хоть одного деления параметра внешнего цикла на параметр внутреннего не равен 0, то закончить внутренний цикл, если же все остатки равны 0 - напечатать параметры внутреннего и внешнего циклов.
Решение
Все числа, удовлетворяющие условию должны делиться на 2...25 без отстатка и поэтому могут быть представлены в виде
k*Nok(2...25),
где k - натуральное число, Nok - наименьшее общее кратное чисел 2...25.
Выпишем Nok(2...25), для этого разложим каждое из чисел из 2..25 на простые множители. (Это красиво и компактно можно записать табличкой, но движек форума не позволяет.)
2 = 21,
3 = 31,
4 = 22,
5 = 51,
6 = 21*31,
7 = 71,
8 = 23,
9 = 32,
10 = 21*51, ,
11 = 111,
12 = 22*31,
13 = 131,
14 = 21*71,
15 = 31*51,
16 = 24,
17 = 171,
18 = 21*32,
19 = 191,
20 = 22*51,
21 = 31*71,
22 = 21*111,
23 = 231,
24 = 23*31,
25 = 52,
26 = 21*131,
Наименьшее общее кратное будет содержать все простые множители последовательности чисел 2...25(26) взятые с максимальными встречающимися степенями:
Nok(2...25) = 24*32*52*7*11*13*17*19*23 = 26771144400
Nok(2...26) = 24*32*52*7*11*13*17*19*23 = 26771144400
Таким образом ваши числа равны 26771144400*k и должны попадать в интервал
[232_792_560, 1_000_000_000_000_000_000]
т.е. 232_792_560<=26771144400*k <=1_000_000_000_000_000_000
откуда
1<=k<=37353651
Ответ: числа 26771144400*k, где k= [1..37353651]