题目描述
给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合。
输入描述:
每组包含n(n<=600)和n个不同的整数,整数大于1且小于等于1000。
输出描述:
每行输出最简真分数组合的个数。
输入
7 3 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;
}
}
今天的文章最简真分数–C++实现分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/6074.html