c++ 呵呵 我又来问了

描述
定义:对于两个整数,如果它们的公约数只有1,就称这两个整数互质。

任务:给定n个互不相同的正整数,任取其中两个数,有多少种选法使得选出的两个数互质?

输入格式
第一行是一个正整数n(n<=1000)。

第二行是n个正整数Ai(在1至1000之间),相邻两数之间用空格隔开。

输出格式
一个整数,即互质数组合的个数。

样例输入
7
3 5 7 9 11 13 15
样例输出
17


#include <iostream>
using namespace std;

int gys(int x, int y)
{
    int z = y;
    while (x % y != 0)
    {
        z = x % y;
        x = y;
        y = z;
    }
    return z;
}
int main()
{
    int n, count = 0;
    int a[1000];
    cin >> n;
    for (int i0 = 0; i0 < n; i0++)
        cin >> a[i0];
    for (int i = 0; i < n; i++)
        for (int j = i + 1; j < n; j++)
        {
            if (gys(a[i], a[j]) == 1)
                count++;
        }
    cout << count << endl;
    return 0;
}

求代码 急!!! 谢谢