题目意思描述不清。。。
1)第一个数字是blocks的个数,但注意后面不用输出换行符(输入样例是有个空白行的,莫名其妙)。
2)每个block都以0 0结束,然后重新从Case 1开始输出。
3)两个相邻的block之间输出空行,最后一块后面不用
#include "stdio.h"
#include "string.h"
int main()
{
int N;
while(scanf("%d",&N)!=EOF)
{
int y;
for(y=0;y<N;y++)
{
int n,m,x=1;
while(scanf("%d %d",&n,&m),m>0,n>0)
{
int i,j,count=0;
for(i=1;i<n-1;i++)
for(j=i+1;j<n;j++)
if((i*i+j*j+m)%(i*j)==0)
count++;
printf("Case %d: %d\n",x++,count);
}
if(y!=N-1)
printf("\n");
}
}
return 0;
}