以来、N-LCM =(A、B)= N-LCM(A、B)N- = LとCのM (A 、B )、描くことができます。
- A とBの 素因数であるn個の素因数を
- 以下のためのN個 の各素因数X 、n個の数Y 次いで、X におけるA 及びB の少なくとも数とY の他の回数<= Y 。
だから我々はただ置くのn うまく倍に、それぞれの素因数を模索します
即ANS =(2A1 + 1)×(2A2 + 1)×......×(2AN + 1)。
#include <iostreamの> する#include <cmath> の#pragma GCC最適化(2) 使用して、 名前空間STDを、 ボイド fenjie(長い 長N) { 長い 長い ANS = 1 。 ため(登録長い 長い I = 2 ; I <= SQRT(N)、iは++ ) { 場合(N%I == 0 ) { int型の CNT = 0 。 一方、(N%I == 0 ) { N / = I。 CNT ++ ; } 年 * =(2 * CNT + 1 )。 } } の場合(N> 1)年* = 3 。 coutの << 年。 } のInt メイン() { 長い 長N。 cinを >> N; fenjie(N) }