很水的题,直接二重循环.
注意每一个输入块的casenumber 都要从1开始
#include <iostream>
#include <cstdio>
using namespace std;
int n, m;
int main(){
int T;
scanf("%d", &T);
while(T--){
int cas = 1;
while(scanf("%d %d", &n, &m)){
if(!n && !m)break;
int ans = 0;
for(int i = 1; i < n; ++i){
for(int j = i + 1; j < n; ++j){
if((i * i + j * j + m) % (i * j) == 0){
ans ++;
}
}
}
printf("Case %d: %d\n",cas++, ans);
}
if(T)printf("\n");
}
return 0;
}