记录编号 27608 评测结果 AAAAAAAAAA
题目名称 横幅 最终得分 100
用户昵称 Gravatar苏轼 是否通过 通过
代码语言 C++ 运行时间 0.115 s
提交时间 2011-09-27 11:40:59 内存使用 0.26 MiB
显示代码纯文本
#include <cstdio>   
int w, h, l, r, t;   
unsigned long long s = 0;   
  
inline int gcd(int x,int y)    
{    
    int xx=x,yy=y;    
    if(y>x) {xx=y;yy=x;}   
    int t;
    t=xx%yy;    
    while (t) 
    {    
        xx=yy;    
        yy=t;    
        t=xx%yy;    
    }    
    return yy;    
}   
  
int main()    
{   
    freopen("banner.in","r",stdin);   
    freopen("banner.out","w",stdout);   
    scanf("%d %d %d %d", &w, &h, &l, &r);   
    l = l*l; r = r*r;   
    for(int a=1; a<=w+1; a++)   
    {   
        for(int b=1; b<=h+1; b++)   
        {   
            if(gcd(a, b) == 1)    
            {   
                t = a*a + b*b;   
                if(t >= l && t <= r)   
                    s += (w-a+1)*(h-b+1)*2;   
            }   
        }   
    }   
    if(l <= 1)   
        s += w*(h+1) + h*(w+1);   
    printf("%lld\n", s);   
    return 0;   
}