-
题目描述:
-
给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合。
-
输入:
-
输入有多组,每组包含n(n<=600)和n个不同的整数,整数大于1且小于等于1000。
当n=0时,程序结束,不需要处理这组数据。
-
输出:
-
每行输出最简真分数组合的个数。
-
样例输入:
-
7 3 5 7 9 11 13 15 3 2 4 5 0
-
样例输出:
-
17 2
import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.BufferedReader;
import java.util.Scanner;
import java.util.Arrays;
class Main
{
public static final boolean DEBUG = false;
public static int gcd(int a, int b)
{
return b == 0 ? a : gcd(b, a % b);
}
public static void main(String[] args) throws IOException
{
Scanner cin;
int n;
if (DEBUG) {
cin = new Scanner(new FileReader("d:\\OJ\\uva_in.txt"));
} else {
cin = new Scanner(new InputStreamReader(System.in));
}
while (cin.hasNext()) {
n = cin.nextInt();
if (n == 0) break;
int[] arr = new int[n];
for (int i = 0; i < n; i++) arr[i] = cin.nextInt();
Arrays.sort(arr);
int ans = 0;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (gcd(arr[i], arr[j]) == 1) ans++;
}
}
System.out.println(ans);
}
}
}