题目描述:
给你两个整数n和m,请你计算有多少个整数对(a,b)满足以下条件:
当0<a<b<n时,(a2+b2+m)/(ab) 是一个整数。
输入格式:
输入包含多组测试数据。每组输入为两个整数n和m(0<n<=100),当n=m=0时,输入结束。
输出格式:
对于每组输入,输出样例标号和满足要求的整数对的个数。
样例输入:
10 1 20 3 30 4 0 0
样例输出:
Case 1: 2 Case 2: 4 Case 3: 5
时间限制: 1000ms
空间限制: 32MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,s1=0;
while(cin>>n>>m){
int s=0;
s1++;
if(n==0&&m==0){
break;
}
for(int i=1;i<n-1;i++){
for(int j=i+1;j<n;j++){
if((i*i+j*j+m)%(i*j)==0){
s++;
}
}
}
cout<<"Case "<<s1<<": "<<s<<endl;
}
return 0;
}