最简真分数
Posted zhuobo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最简真分数相关的知识,希望对你有一定的参考价值。
题目描述
给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合。
输入描述:
每组包含n(n<=600)和n个不同的整数,整数大于1且小于等于1000。
输出描述:
每行输出最简真分数组合的个数。
分析:
- 最简真分数要求一是分母比分子大;
- 二是要求分子分子分母的最大公约数是1;
求最大公约数
// a > b
int gcd(int a, int b){
if(b == 0) return a;
else return gcd(b, a % b);
}
#include <iostream>
using namespace std;
int gcd(int a, int b){
if(b == 0) return a;
else return gcd(b, a % b);
}
int main(){
int n;
int arr[600];
cin >> n;
for(int i = 0; i < n; i++)
cin >> arr[i];
int count = 0;
for(int i = 0; i < n; i++) //分子
for(int j = 0; j < n; j++){ // 分母
if((arr[i] < arr[j]) && gcd(arr[j], arr[i]) == 1) count++;
}
cout << count << endl;
return 0;
}
以上是关于最简真分数的主要内容,如果未能解决你的问题,请参考以下文章