测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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; }
上一题 下一题