A51999. 最简真分数
填空题
中等
知识点
题目描述
最简真分数
题目描述
给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合。
输入
输入有多组,每组包含n(n<=600)和n个不同的整数,整数大于1且小于等于1000。
当n=0时,程序结束,不需要处理这组数据。
输出
每行输出最简真分数组合的个数。
样例输入
7
3 5 7 9 11 13 15
3
2 4 5
0
样例输出
17
2
参考答案
#include <iostream>
using namespace std;
void fun(int a[],int n) {
int i,j,k;
int num,flag;
num=0;
for(i=0; i<n; i++)
for(j=0; j<n; j++)
if(a[i]/a[j]==0) {
flag=0;
for((k=(a[i]>a[j])?a[i]:a[j]); k>1; k--) {
if(a[i]%k==0 && a[j]%k==0) {
flag++;
break;
}
}
if(flag==0)
num++;
}
cout<<num<<endl;
}
int main() {
int i,n;
int a[600];
while(cin>>n && n!=0) {
for(i=0; i<n; i++) {
cin>>a[i];
}
fun(a,n);
}
return 0;
}
上一题
下一题