题意是给定 n,m,问有多少组(a,b)满足 0 < a < b < n 而且 (a ^ 2 + b ^ 2 + m) / ( a * b ) 是整数。
直接模拟即可。
代码如下:
1 #include <bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 int t,ans,n,m; 6 bool f = false; 7 scanf("%d",&t); 8 while(t--) 9 { 10 if(f) printf(" "); 11 f = true; 12 for(int i = 1;; i++) 13 { 14 ans = 0; 15 scanf("%d %d",&n,&m); 16 if(n==0&&m==0) break; 17 for(int a = 1; a < n; a++) 18 for(int b = a+1; b < n; b++) 19 if((a*a+b*b+m)%(a*b)==0) ans++; 20 printf("Case %d: %d ",i,ans); 21 } 22 } 23 return 0; 24 }