找出最大公约数为1的三个数

题目描述

第一行输入要输入的数的个数,第二行输入整数,中间用空格隔开。输出最大公约数为1的组合数。

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int length = input.nextInt();
        int[] nums = new int[length];
        for(int i = 0; i < length; i++) {
            nums[i] = input.nextInt();
        }
        int number = 0;
        for (int i = 0; i < nums.length - 2; i++) {
            for(int j = i + 1; j < nums.length - 1; j++) {
                for(int k = j + 1; k < nums.length; k++) {
                    if(maxGcd(nums[i],nums[j],nums[k]) == 1) {
                        number++;
                    }
                }
            }
        }
        System.out.println(number);
    }

    //求三个数的最大公约数
    public static int maxGcd(int a, int b, int c) {
        int i = a;
        for (; (a % i != 0) | (b % i != 0) |(c % i != 0); i--){
        }
        return i;
    }
}

猜你喜欢

转载自blog.csdn.net/w1375834506/article/details/88988832