Jurijus Zaksas
Искусственный Интеллект
(444866)
14 лет назад
Ну, во-первых, есть языки с поддержкой ОЧЕНЬ больших целых чисел, например Python.
Во-вторых, всем известный тип int64 спокойно хавает числа вплоть до 9223372036854775807.
А в-третьих, абсолютно незачем заниматься всеми вышеперечисленными извращениями. Достаточно найти все делители КАЖДОГО из перечисленных чисел. Что с ними делать - я точно не скажу, тут начинается комбинаторика, а я в ней традиционно не силен. Как по мне, надо найти количество комбинаций этих делителей.
Пример:
Пусть у нас есть 2 числа: 10 и 10. Произведение, ясен пень, 100.
10 делится на 1,2,5 и 10.
Соответственно искомые делители будут:
1*1=1
1*2=2
1*5=5
1*10=10
2*1=2
2*2=4
2*5=10
2*10=20
5*1=5
5*2=10
5*5=25
5*10=50
10*1=10
10*2=20
10*5=50
10*10=100
Таким образом мы выяснили, что 100 делится на 1,2,4,5,10,20,25,50 и 100.
Искать эти делители незачем, наверняка есть в комбинаторике готовая формула для определения их количества.
Но все это может быть бредом, предупреждаю сразу.
перемножить, получить результат и проверить его на все возможные делители невозможно, ибо число получается больше 3*10^9 а таких больших целочисленных типов нет, а через действительные типы это займет слишком много времени