发布网友 发布时间:2024-10-19 19:11
共3个回答
热心网友 时间:2024-10-24 06:59
可能是测试数据太变态了,出题者故意用来卡这种算法的
我们可以这么做 假设 m = p1^a1 * p2^a2 *..pk^ak..
那么它因子的个数就是(a1+1)(a2+1)...(ak+1).因为对于每个pi来说,我们可以选择有ai+1种选择(包括不选,选1个,选2个...选ai个)
那么也就是说我们只要对m进行质因素分解就可以了,先打一个素数表prime[],
然后对m进行分解,比如说20 = 2^2 * 5^1,我们计算出 因子2的个数2,和因子5的个数1
那么答案就是(2+1)*(1+1)= 6
热心网友 时间:2024-10-24 07:02
哥们。。。这是一个数论题目,可不是水题哦
热心网友 时间:2024-10-24 07:04
算法太朴素,超过时限了。
建议使用 筛选法 哟亲!
记得给好评哟~