Problem Description
Given two integers n and m, count the number of 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 followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.
The output format consists of N output blocks. There is a blank line between output blocks.
Input
You will be given a number of cases in the input. Each case is specified by a line containing the integers n and m. The end 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 well as the number of pairs (a,b) satisfying the given property. Print the output for 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
#include <iostream>
using namespace std;
int main()
{
int n,m,a,b,c;
int N,j;
cin>>N;
for(j=0;j<N;j++)
{
int i=1;
while(cin>>n>>m)
{
if(n==0 && m==0) break;
int count = 0;
cout<<"Case "<<i++<<": ";
for(a=1;a<n;++a)
for(b=a+1;b<n;++b)
{
if((a*a + b*b + m)%(a*b) == 0)
++count;
}
cout<<count<<endl;
}
if(j!=N-1) cout<<endl;
}
return 0;
}
本文深入探讨了算法和数据结构的核心概念及其在实际应用中的高效解决方案,涵盖了排序算法、动态规划、哈希算法、贪心算法等,并通过实例展示了它们在不同场景下的运用。
321

被折叠的 条评论
为什么被折叠?



