andre_joy

导航

hdu 1017

地址:http://acm.hdu.edu.cn/showproblem.php?pid=1017

题意:给定n,m,求满足(a^2+b^2+m)/(a*b)仍是整数的(a,b)的组数。

mark:n的值比较小,扫描一遍,也就100*100.

代码:

#include <stdio.h>

int main()
{
    int t,n,m,sum;
    int i,j,a,b;
    scanf("%d", &t);
    for(i = 0; i < t; i++)
    {
        if(i) puts("");
        j = 1;
        while(~scanf("%d%d", &n, &m), (m || n))
        {
            sum = 0;
            for(a = 1; a < n; a++)
                for(b = a+1; b < n; b++)
                    if((a*a+b*b+m)%(a*b) == 0) sum++;
            printf("Case %d: %d\n", j++, sum);
        }
    }
    return 0;
}

posted on 2012-07-01 19:43  andre_joy  阅读(173)  评论(0编辑  收藏  举报