这也能ac??太开心了
divid函数,把一个数分解成2个数,为避免重复分解,引入了p来保序
只有i>=p才进行分解,否则就有重复的了
#includeusing namespace std; typedef long long ll; ll divid(int p,int a) { ll res = 0; for (int i = 2;i <= a / i;i++) { if (a%i == 0) { if(i>=p) res += divid(i,a / i) + 1; } } return res; } int main() { int n; cin >> n; while (n--) { int a; cin >> a; cout << 1 + divid(0,a) << endl; } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)