您的位置:首页 > 其它

给两个整数对n与m,数出有多少整数对(a,b)满足:0<a<b<n,且(a*a+b*b+m)/(a*b)仍是整数

2008-04-14 18:42 417 查看
/*
给两个整数对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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐