zoukankan      html  css  js  c++  java
  • 最简真分数

    题目描述

    给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合。

    输入描述:

    每组包含n(n<=600)和n个不同的整数,整数大于1且小于等于1000。

    输出描述:

    每行输出最简真分数组合的个数。

    分析:

    1. 最简真分数要求一是分母比分子大;
    2. 二是要求分子分子分母的最大公约数是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;
    }
    
  • 相关阅读:
    Java 泛型
    Github
    软件工程----前端
    前端全局缓存的三种方式
    关于IDE的选择
    模拟placeholder
    小程序request封装
    小程序实现大转盘抽奖----踩坑之路
    关于this的理解
    小程序背景图片bug
  • 原文地址:https://www.cnblogs.com/zhuobo/p/10203294.html
Copyright © 2011-2022 走看看