首页 > 技术文章 > HDOJ-ACM1017(JAVA)

xiezie 2016-06-13 19:19 原文

 

问题描述:

简单来说,就是 输入N,然后输入N个数据块,一个数据块包含(n,m),并计算0 < a < b < n 且 (a^2+b^2 +m)/(ab) 为整数。其中a,b只要符合条件就行。输出符合情况的个数。

 注意输出格式就好,每个数据块之间有一空行,输入完N组后程序完成

 

以下是java代码:

import java.util.*;

import java.io.*;

public class Main{

    public static void main(String[] arg){
        Scanner scan = new Scanner(new BufferedInputStream(System.in));
         int N=scan.nextInt();
        while(N--!=0){
            int caseIndex = 1;
            while(true){
                int count = 0;
                int n = scan.nextInt();
                int m = scan.nextInt();
                if(n==0&&m==0){
                    break;
                }
                for(int i = 1 ; i != n ; i ++){
                    for(int j = i+1 ; j != n ; j ++){
                        if ((i*i+j*j+m)%(i*j)==0) {
                            count ++ ;
                        }
                    }
                }
                System.out.println("Case " + caseIndex++ +": " + count);
            }
            if(N==0){
                break;
            }
            System.out.println();
        }
        scan.close();
    }

}

推荐阅读