一个数学问题

题目描述

给你两个整数n和m,请你计算有多少个整数对(a,b)满足以下条件:
当0<a<b<n时,(a^2+b^2+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

代码:

#include<stdio.h>
int main()
{
	int n,m,a,b,c=1;
	while(scanf("%d %d",&n,&m)!=EOF&&(n||m))
	{
		double num;
		int sum=0;
		for(a=1;a<n;a++)
		{
			for(b=a+1;b<n;b++)
			{
				num=(a*a+b*b+m)%(a*b);
				if(num==0)
				  sum++;
			}
		}
		printf("Case %d: %d\n",c,sum);
		c++;
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/hanyue0102/article/details/81327063
今日推荐