问题描述
给定两个整数n和m,计算整数对(a,b)的个数,使得0 <a <b <n和(a ^ 2 + b ^ 2 + m)/(ab)是一个整数。
这个问题包含多个测试用例!
多输入的第一行是一个整数N,然后是一个空行,后跟N个输入块。每个输入块都采用问题描述中指定的格式。输入块之间有空行。
输出格式由N个输出块组成。输出块之间有空行。
这个问题包含多个测试用例!
多输入的第一行是一个整数N,然后是一个空行,后跟N个输入块。每个输入块都采用问题描述中指定的格式。输入块之间有空行。
输出格式由N个输出块组成。输出块之间有空行。
输入
您将在输入中获得一些案例。每个案例由包含整数n和m的行指定。输入的结束由n = m = 0的情况表示。您可以假设0 <n <= 100。
产量
对于每种情况,请打印案例编号以及满足给定属性的对(a,b)的数量。按照下面的格式在一行上打印每个案例的输出。
示例输入
1
10 1
20 3
30 4
0 0
示例输出
案例1:2
案例2:4
案例3:5
这道题提交了几次一直没有A掉,不知道问题出在哪里了,测试没有问题,我觉得可能是格式的问题,所以希望读者参考的同时能帮忙指正。
#include <stdio.h>
int main() {
int n,m,a,b,cas,num,N;
scanf("%d\n",&N);
while(N--)//for(k=0;k<N;k++)
{
cas=1;
while (scanf("%d %d",&n,&m) && n!=0 && m!=0) {
num=0;
for(a=2;a<n;a++)
{
for(b=1;b<a;b++)
{
if((a*a+b*b+m)%(a*b)==0)
num++;
}
}
printf("Case %d: %d\n",cas++,num);
}
if(N!=0)
printf("\n");
}
return 0;
}
这个是一个正确的答案,大家可以参考一下:http://blog.csdn.net/huanhuanxiaoxiao/article/details/52182674