文件名称:Pongo挑战赛_Count
文件大小:3KB
文件格式:CPP
更新时间:2017-01-27 08:23:25
Pongo挑战赛
竟然挑战失败?!
自我感觉良好!哈哈。。。。。。
class Test {
public:
static long Count (int a,int b)
{
if(a>b) return 0;
int ic=0, ir=0;
int d, A, B, C; // A=B+d, B, C=B-d. 4d^2=N+(C-d)^2, (3d-C)(d+C)=N, B|N. d>=√N/2, C<=3*d. C=d±√(4*d^2-N).
for(int N=a; N<=b; N++){
ir=0;
for(int B=2; B<=N; B++){
if(N%B!=0) continue;
d=(N/B+B)/4;
A=B+d; C=B-d;
if(C<=0) continue;
if(A*A-B*B-C*C==N){ ir++; cout<