题解 | #最简真分数#

最简真分数

https://www.nowcoder.com/practice/1f1db273eeb745c6ac83e91ff14d2ec9

隐含条件:

1.输入0退出

2.输入的整数递增

3.分母大于分子

#include <iostream>
#include "vector"
using namespace std;
int gcd(int a, int b) {
    if (b == 0) return a;
    else return gcd(b, a % b);
}
int main() {
    int n;
    while (cin >> n) { // 注意 while 处理多个 case
        // cout << a + b << endl;
        if (n == 0) break;
        vector<int> nums;
        for (int i = 0; i < n; i++) {
            int temp;
            cin >> temp;
            nums.push_back(temp);
        }
        int num = 0;
        for (int j = 0; j < nums.size(); j++) {
            for (int k = j+1; k < nums.size(); k++) {
                int temp = gcd(nums[j], nums[k]);
                if (temp==1) num++;
            }
        }
        cout<<num<<endl;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

安静的鲸鱼offer...:神仙级别hr,可遇不可求,甚至他可能也是突然有感而发。只能说遇上是件幸事。
秋招开始捡漏了吗
点赞 评论 收藏
分享
10-14 12:20
门头沟学院 Java
迷茫的大四🐶:摊牌了,我是25届的,你们也不招我
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务