zoj 1152 A Mathematical Curiosity

方法:枚举

做这道题,在第十行的位置WA了很多次,(n || m)不能写成(n + m),m可能是负数,一直没注意到,导致不停的WA.......

 

#include <stdio.h>
int main()
{
    int T,n,m,a,b,ans,p = 0;
    scanf("%d",&T);
    while(T--)
    {
        if(p ++) printf("\n");
        int num = 1;
        while(scanf("%d%d",&n,&m) && (n || m))
        {
            ans = 0;
            for(a = 1 ; a < n ; a ++)
             for(b = a + 1 ; b < n ; b ++)
              if( (a*a + b*b + m)%(a*b) == 0 ) ans ++;
            printf("Case %d: %d\n",num++,ans);
        }
    }
    return 0;
}


 

 

你可能感兴趣的:(Math)