HDU 1017(** **)

题意是给定 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 }
View Code
日后若能有更好的想法,再来完善。 希望看到的大神不吝赐教 orz
原文地址:https://www.cnblogs.com/Taskr212/p/9526448.html