题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1017
这个题目其实挺坑的。
首先是N,应该挺多人纠结过这个N,N其实是blocks(块),一块有未知个cases。
一个块的结束标志是0,0。
然后是PE的问题,空格、空行
,我也是被坑的好惨。
![再见](http://static.blog.csdn.net/xheditor/xheditor_emot/default/bye.gif)
这里应该是每个块之间有一个空行!也就是说,最后一个块是不在换行的。case与case之间没空行。
至于整数的判断,使用%来处理。
下面AC代码:
import java.util.Scanner;
public class Main{
private static Scanner scanner;
public static void main(String[] args) {
scanner = new Scanner(System.in);
int cases = scanner.nextInt();
for (int i = 0; i < cases; i++) {
int caseNum = 1;
while (scanner.hasNext()) {
int n = scanner.nextInt();// 0<a<b<n
int m = scanner.nextInt();
if (n == 0 && m == 0) {
break;
}
int count = 0;// 整数个数
for (int a = 1; a < n; a++) {// a
for (int b = a+1; b < n; b++) {//b
//判断公式计算结果是整数
if((a*a+b*b+m)%(a*b)==0){
count++;
}
}
}
System.out.println("Case "+caseNum+": "+count);
caseNum++;
}
if(i<cases-1){
System.out.println();
}
}
}
}