A Mathematical Curiosity
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
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.
#include<iostream> using namespace std; int n,m,sum,t,k; int main() { cin>>t; while(t--) { k=0; while(cin>>n>>m) { if(n==0&&m==0) break; sum=0; for(int i=1;i<n;i++) for(int j=i+1;j<n;j++) { int temp=i*i+j*j+m; int flag=i*j; if(temp%flag==0) //测试为整数 sum++; } cout<<"Case"<<" "<<++k<<": "<<sum<<endl; } if(t!=0) cout<<endl; //不是最后一行就需要空格 } return 0; }