由于博主实在太菜,本文中极其容易出现错误,请各位指正,谢谢
题意(经典问题):
求一个给定的圆( x2+y2=r2 ),在圆周上有多少个点的坐标是整数。
即:不定方程 x2+y2=r2 有多少组整数解。
经典做法请百度,或看这里
http://blog.sina.com.cn/s/blog_8d5d2f0401017skv.html
orz rzz
然而这个做法实在不怎么优美,且时间复杂度为 O(n√logn) ,不够优秀,并且也不易推广。于是我们来探究一下这个问题。
首先我们将其抽象为一个函数 f(x) , f(x) 表示方程 a2+b2=x2 的整数解的个数。
按照OI养成的习惯首先对 f(x) 进行打表找规律。。。发现 f(x) 是不小于4的偶数(废话),并且因子较多的数的 f(x) 值较大,且近似成乘积增长。
猜想1 f(x) 是积性函数,或可以表示成 kg(x)+o(x) 的形式,其中 k 是常数,