作业帮 > 综合 > 作业

求N的所有因数的个数的公式

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/08/08 15:31:15
求N的所有因数的个数的公式
如10,有5个2,0个3,0个4,2个5...
注意!不是所有因数的个数和,而是每个因数各有多少个!大家普遍理解错了..比如63,63的因数除开1和本身以外有3,7.我要求的是到底有几个3,几个7(63=3^2*7包含2个因数3,1个因数7) 也就是说,要分别求出N的每个因数的个数.
没有公式啊..真失望...
编程?笑..我就是USACO上一道题目用辗转相除编程结果没过去,超时..10^31次方你循环到哪百年啊..说话负责一点..
求N的所有因数的个数的公式
“如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过大根本没法做.当然在给定的范围内也不是随便用几个循环穷举就可以解决的.
“编程?!笑” 我无语,要是有现成公式,我真的要笑了,本来就是考验编程能力的,我不信那些不超时的人都是找到了公式的.当然如果你是笑别人说用简单的循环就能解决的话,我无话可说.反正我不觉得这很可笑.虽然别人不了解算法,但是至少热心的给出了自己的看法.说得不对就叫不负责,那样以后人们都要小心说话了,对人类不了解的领域,根据已知的知识去大胆假设也成了不负责任的表现.
上网搜了一下,大致找到三条记录
http://cache.baidu.com/c?word=usaco%2C%C3%BF%B8%F6%3B%D6%CA%D2%F2%CA%FD%3B%D6%B8%CA%FD&url=http%3A//bbs%2Ezju%2Eedu%2Ecn/cgi%2Dbin/bbstcon%3Fboard%3DAlgorithm%26file%3DM%2E1120718387%2EA&b=62&a=16&user=baidu#baidusnap1
http://cache.baidu.com/c?word=usaco%2C%C3%BF%B8%F6%3B%D6%CA%D2%F2%CA%FD%3B%D6%B8%CA%FD&url=http%3A//www%2Emydrs%2Eorg/dv7/Dispbbs%2Easp%3Fboardid%3D13%26ID%3D51621&b=41&a=17&user=baidu#baidusnap1
http://cache.baidu.com/c?word=usaco%2C%C3%BF%B8%F6%3B%D6%CA%D2%F2%CA%FD%3B%D6%B8%CA%FD&url=http%3A//purety%2Ejp/akisame/oi/TJU/&b=0&a=5&user=baidu#baidusnap1
至于求每个质因数个数的问题,暂时没时间考虑,感觉上没有太好的方法,除非事先保存了素数表.一个很大的素数N,除了从1到根号N循环,我还真想不出有什么好办法,求出它的因数只有1和N.公式,目前来看,是不可能有的.