素勾股数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/flower_CSDN/article/details/82668210
package basicTest;

import java.util.Scanner;
/**
 *  求N以内的素勾股数组合
    如0<a<=b<=c<=N
    a*a+b*b=c*c且a,b,c之间互斥

 * @author 17976
 *
 */
public class Main {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int count=0;

        for(int i=1;i<=n;i++) {
            for(int j=i;j<=n;j++) {
                for(int k=j;k<=n;k++) {
                    if(i*i+j*j==k*k) {
                        int s,r,t;
                        s=sushu(i,j);
                        r=sushu(i,k);
                        t=sushu(j,k);

                        if(s==1&&r==1&&k==1) {
                            count++;
                        }

                    }
                }
            }
        }
        System.out.println(count);

//      System.out.println(sushu(8,10));

    }


    public static int  sushu(int m ,int n) {
        int k=m%n;
        while(k!=0) {
            m=n;
            n=k;
            k=m%n;
        }
        return n;
    }

}

猜你喜欢

转载自blog.csdn.net/flower_CSDN/article/details/82668210