/*
给两个整数对n与m,数出有多少整数对(a,b)满足:0<a<b<n,且(a*a+b*b+m)/(a*b)仍是整数.
输入:
输入中包含若干实例,每个实例为一行,含整数n,m。输入的结束行以n=m=0表示。约定0<n≤100。
输出:
对每个实例输出一行,含实例序号与满足该实例条件的整数对(a,b)的个数。输出格式如下面的样例。
输入样例:
10 1
20 3
30 4
0 0
输出样例:
1:2
2:4
3:5
*/
#include<stdio.h>
void
main(void)
{
int m=1,n=10,a,b,sum=0,i=0,j=0;
int result1,result2;
int str[10];
while(1)
{
sum=0;
scanf("%d%d",&n,&m);
if(m==0&&n<=0) /* 退出条件 */
break;
for(b=2;b<n;b++){
for(a=1;a<b;a++)
{
result1=a*a+b*b+m;
result2=a*b;
if(result1%result2==0)
{
sum++;
}
}
}
str[i++]=sum;
}
for(j=0;j<i;j++)
{
printf("Example %d:%d/n",j+1,str[j]);
}
getch();
}