最简真分数
北京大学/北京航空航天大学机试题
题目描述
Time Limit: 1000 ms
Memory Limit: 32768 mb
给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合。
输入输出格式
输入描述:
每组包含n(n<=600)和n个数,整数大于1且小于等于1000。
输出描述:
每行输出最简真分数组合的个数。
输入输出样例
输入样例#:
7 3 5 7 9 11 13 15
输出样例#:
17
解题方法
代码
#include <bits/stdc++.h>
using namespace std;
int gcd(int a,int b){
if(b==0) return a;
else return(gcd(b,a%b));
}
int main(){
int n,count;
while(cin>>n){
count=0;
vector<int> v(n);
for(int i=0;i<n;i++){
cin>>v[i];
}
for(int i=0;i<n-1;i++){
for(int j=n-1;j>i;j--){
if(gcd(v[i],v[j])==1) count++;
}
}
cout<<count<<endl;
}
return 0;
}