Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Подскажите, как найти количество положительных делителей произведения чисел!!!!Срочно

Вася Пупкин Ученик (160), на голосовании 14 лет назад
У нас есть 10 чисел, a1,a2,...a10, и нам нужно узнать количество целых положительных делителей их произведения a1*a2*a3*..*a10,

перемножить, получить результат и проверить его на все возможные делители невозможно, ибо число получается больше 3*10^9 а таких больших целочисленных типов нет, а через действительные типы это займет слишком много времени
Голосование за лучший ответ
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.
Искать эти делители незачем, наверняка есть в комбинаторике готовая формула для определения их количества.
Но все это может быть бредом, предупреждаю сразу.
Похожие вопросы