素因数分解定理、$ N = \ PRODのP_I ^ {K_I} $
数nが素数の$ \ prodにある(K_I + 1)$
数はエマープ、$ K_I $必ずしも単調減少である、そうでなければ、より小さく、より最適解を得るために$ K_I $を交換することができます
書式#include <cstdioを> typedefの長い 長いLL。 LLのP [ 12 ] = { 2、3、5、7、11、13、17、19、23、29、31、37 }。 LL用MX、ANS、TOT; ボイド DFS(LL kを、int型 D、INT W、int型T){ 場合(TOT == T && ANS> K)ANS = K。 もし(TOT <T)TOT = T、ANS = K。 もし(D> 11)を返します。 以下のために(LL iは= 0、S = 1 ; * S k個<= MX && I <= W; ++ iは、S * = P [D]) DFS(k個 *のS、D + 1、I、T×(I + 1 ) ); } int型のmain(){ scanf関数(" %のLLD "、&MX)。 DFS(1、0、99、1 )。 printf(" %のLLD " 、ANS)。 リターン 0 ; }