標籤:des style http color io os ar java for
//2014.10.17 01:19
//題意:
//先輸入一個數N,然後分塊輸入,每塊輸入每次2個數,n,m,直到n,m同時為零時
//結束,當a和b滿足題目要求時那麼這對a和b就是一組
//注意:
//每一塊的輸出中間有一個斷行符號
A Mathematical CuriosityTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 27177 Accepted Submission(s): 8651
Problem DescriptionGiven 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.
InputYou 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.
OutputFor 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
110 120 330 40 0
Sample Output
Case 1: 2Case 2: 4Case 3: 5
SourceEast Central North America 1999, Practice
#include<stdio.h>int main(){ int N; int n,m; int a,b; int cas; scanf("%d",&N); while(N--) { cas=1; while(scanf("%d%d",&n,&m),n||m) { int count=0; for(a = 1; a < n; a++)//窮舉法 { for(b = a + 1; b < n; b++) { if((a*a + b*b + m) % (a * b) == 0) count++; } } printf("Case %d: %d\n",cas++,count); } if(N) printf("\n"); } return 0;}
HDU 1017 A Mathematical Curiosity【看懂題意+窮舉法】