题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1017
这个题目其实挺坑的。
首先是N,应该挺多人纠结过这个N,N其实是blocks(块),一块有未知个cases。
一个块的结束标志是0,0。
然后是PE的问题,空格、空行,我也是被坑的好惨。
这里应该是每个块之间有一个空行!也就是说,最后一个块是不在换行的。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<nint m = scanner.nextInt();if (n == 0 && m == 0) {break;}int count = 0;// 整数个数for (int a = 1; a < n; a++) {// afor (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();}}}
}