1017 A Mathematical Curiosity
Time Limit: 2000/1000 MS(Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 27084 Accepted Submission(s): 8616
Problem Description
Given two integers n and m, count the numberof pairs of integers (a,b) such that 0 < a < b < n and (a^2+b^2+m)/(ab) is an integer.
This problem contains multiple test cases!
The first line of a multiple input is an integer N, then a blank line followedby N input blocks. Each input block is in the format indicated in the problemdescription. There is a blank line between input blocks.
The output format consists of N output blocks. There is a blank line betweenoutput blocks.
Input
You will be given a number of cases in theinput. Each case is specified by a line containing the integers n and m. Theend of input is indicated by a case in which n = m = 0. You may assume that 0< n <= 100.
Output
For each case, print the case number as wellas the number of pairs (a,b) satisfying the given property. Print the outputfor each case on one line in the format as shown below.
Sample Input
1
10 1
20 3
30 4
0 0
Sample Output
Case 1: 2
Case 2: 4
Case 3: 5
这个题目最纠结的地方是输出格式上,容易出错,是没个块之间,也就是第一个不用空一行,因为格式我提交3.4次错了,所以还是要看清楚题目的意思下手,更重要的是真应该提高英语水平了,这个题很简单没什么难度,主要是格式方面的注意。
#include<iostream>
using namespace std;
int main()
{
int a,b,i,k,n,m,count,t,sum,c;
cin>>k;
for(i=0;i<k;i++)
{
if(i>0)
cout<<endl;
t=1;
while(cin>>n>>m&&(n>0&&n<=100)&&(n!=0||m!=0))
{
count=0;
for(a=1;a<n-1;a++)
for(b=a+1;b<=n-1;b++)
{
sum=a*a+b*b+m;
c=a*b;
if(sum%c==0)
{
count+=1;
}
}
cout<<"Case"<<t<<": "<<count<<endl;
t++;
}
}
return 0;
}