给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合。
输入描述: 每组包含n(n<=600)和n个不同的整数,整数大于1且小于等于1000。 输出描述: 每行输出最简真分数组合的个数。 输入 73 5 7 9 11 13 15 输出 17 C++实现: #include<iostream>#include<math.h>using namespace std;int main(){ int n; while(cin>>n){ int num[n]; for(int i=0;i<n;i++){ cin>>num[i]; } int sum=0; for(int i=0;i<n-1;i++){ for(int j=i+1;j<n;j++){ int Min=num[i]>num[j]?num[j]:num[i]; int Max=num[i]>num[j]?num[i]:num[j]; if(Max%Min!=0){ int flag=0; //注意此处k最大边界为Min,而不是sqrt(Min) for(int k=2;k<=Min;k++){ if(Min%k==0&&Max%k==0){ flag=1; break; } } if(!flag) sum+=1; } } } cout<<sum<<endl; }}