明明觉得hash是个好算法代码短、效率高。某天他碰到了一个求正方形个数的问题,于是很淡定地枚举对角线然后用hash判存在妥妥的搞定,但是提交后却wa了几个点仔细觀察其hash函数为: h=x*y+x+y 。为了让明明知道这个函数存在什么问题对于给出一个h值,请你来告诉他有多少对(x,y)满足上述式子(max(x,y)<=h;hx,y都为非负整数)
哆组测试数据,第一行为测试点的个数T,接下来每一行一个整数h意义如上。
一共T行,每行一个整数分别表示有多少组(x,y)满足要其对应的h值。
第一眼看起来什么想法都没有
然后大神告诉我们——————
求一个数有多少个因数可以先做质因数分解,然后统计每个质因子的個数答案就出来了:
可以猥琐一下:我们只用预处理出10000以内的素数,分解质因数s的过程中可能最后会剩下一个很大的质因数,超过了預处理出的素数上限
这时只需要特判一下分解完后,s是否等于1不是的话将答案*2就行了。