Сначала рассмотрим это утверждение:
(p 1 0 + p 1 1 +… + p 1 k 1 ) * (p 2 0 + p 2 1 +… + p 2 k 2 )
Теперь делители любого p a , для p в качестве простых чисел, p 0 , p 1 , ……, p a , а сумма делителей будет:
((p 1 0 ) + (p 1 0 + p 1 1 ) + .... + (p 1 0 + p 1 1 + ... + p k 1 )) * ((p 2 0 ) + (p 2 0 +p 2 1 ) + (p 2 0 + p 2 1 +p 2 2 ) + ... (p 2 0 + p 2 1 + p 2 2 + .. + p 2 k 2 ))
Вы можете рассмотреть вопросve оператор, эквивалентный нижнему оператору:
[[p 1 0 * (k 1 + 1) + p 1 1 * k 1 + p 1 2 * (k 1 - 1) + .... + (p 1 k 1 * 1)]] * [[p 2 0 *(k 2 + 1) + p 2 1 * (k 2 ) + p 2 2 * (k 2 - 1) + .... + (p 2 k 2 * 1)]] в коде, который вы пишете в посте, было выполнено последнее утверждение.
, например, если учесть n = 54 = 3 3 * 2 1 ,
ANS рассчитывается в следующем формате:
ANS = (2 0 * 2 + 2 1 * 1) * (3 0 * 4 + 3 1 * 3 + 3 2 * 2 + 3 3 * 1) = 4 * 58 = 232