#include <iostream>
#include <stdio.h>
using namespace std;
//0 0是case的结尾
// input block有N块 N是input block的块数
//第一行是N 一块中可以有很多case 直到0 0表示一个input block结束
// input block间有空行
//output block有N块
//output block间有空行
//输出时 输出case序号和(a,b)对数
//a number of cases 和the number of cases的区别这里很明显
//case 的编号会重复
int main()
{
int N,n,m;
int a,b;
cin>>N;
for(int i=0;i<=N-1;i++)
{
int j=0;//每块input block都有一个记录case个数的j 都要先初始化为0
while(cin>>n>>m)
{
int num=0;
if(n==0&&m==0)
{
break;
}
else
{
j++;//j是case个数
}
for(a=1;a<=n-2;a++)
{
for (b =a+1; b <= n - 1; b++)
{
if ((a * a + b * b + m) % (a * b)==0)
{
num++;//为数对对数 每个case(输入有效n m算一次)中有一个num对应 都算一次
//cout<<num<<endl;
}
}
}
//cout<<num;
//for(int i=0;i<=j-1;i++)//覆盖也只是为了计数而已( 上面的也是)所以只要下面的也是用来计数就可以覆盖
//{
cout<<"Case "<<j<<": "<<num<<endl;//保证所有case全都说明了 每个case只输出一次 所以不用for
//}
}
if(i!=N-1)cout<<endl;
}
}
杭电1017
最新推荐文章于 2020-03-23 18:11:10 发布