A Mathematical Curiosity

Given two integers n and m, count the number of pairs of integers (a,b) such that 0 < a < b < n and (a2+b2+m)/(ab) is an integer.

Input

You will be given a number of cases in the input. Each case is specified by a line containing the integers n and m. The end of input is indicated by a case in which n = m = 0. You may assume that 0 < n ≤ 100.

Output

For each case, print the case number as well as the number of pairs (a,b) satisfying the given property. Print the output for each case on one line in the format as shown below.

Sample Input

10 120 330 40 0

Sample Output

Case 1: 2Case 2: 4Case 3: 5

Source: East Central North America 1999 Practice

my c++ code:

#include <iostream>
using namespace std;
int main(){
int n,m;
int k = 0;
cin>>n>>m;
while(n){
k++;
int ans=0;
float dou,cha;
int num;
for (double a = 1; a < n-1; a++){
for (double b = a+1; b < n; b++){

dou = (a*a + b*b + m)/(a*b);
num = (a*a+b*b+m)/(a*b);
cha = dou - num;
if (cha==0.0){
ans++;
}
}
}
cout << "Case " << k <<": " << ans << endl;
cin>>n>>m;
}

return 0;
}

• 本文已收录于以下专栏：

举报原因： 您举报文章： A Mathematical Curiosity 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)