如10,有5个2,0个3,0个4,2个5...
參考答案:“如10,有5个2,0个3,0个4,2个5...” 这是求N的所有因数的个数?
“比如63,63的因数除开1和本身以外有3,7.我要求的是到底有几个3,几个7(63=3^2*7包含2个因数3,1个因数7)” 拜托,是素因数好不好?
63的所有因数即是1、3、7、9、21、63,个数即如同一楼所说的方法为(2+1)*(1+1)=6。
如果是编程题,请给出例子。USACO的题同ACM\ICPC,topcoder等等一样,都是有example的,而且许多的题实际上限定了一些范围,因为是NP问题,N过大根本没法做。当然在给定的范围内也不是随便用几个循环穷举就可以解决的。
“编程?!笑” 我无语,要是有现成公式,我真的要笑了,本来就是考验编程能力的,我不信那些不超时的人都是找到了公式的。当然如果你是笑别人说用简单的循环就能解决的话,我无话可说。反正我不觉得这很可笑。虽然别人不了解算法,但是至少热心的给出了自己的看法。说得不对就叫不负责,那样以后人们都要小心说话了,对人类不了解的领域,根据已知的知识去大胆假设也成了不负责任的表现。
上网搜了一下,大致找到三条记录
至于求每个质因数个数的问题,暂时没时间考虑,感觉上没有太好的方法,除非事先保存了素数表。一个很大的素数N,除了从1到根号N循环,我还真想不出有什么好办法,求出它的因数只有1和N。公式,目前来看,是不可能有的。