题解 | #最简真分数#

最简真分数

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

#include <stdio.h>

// 辗转相除法求最大公约数
int gcd(int a, int b) {
    if (b == 0) return a;
    return gcd(b, a % b);
}

int main() {
    int n, a[605];
    while (scanf("%d", &n) != EOF) {
        if (n == 0) break;
        for (int i = 0; i < n; i++) {
            scanf("%d", &a[i]);
        }
        int cnt = 0;
        for (int i = 0; i < n - 1; i++) {
            for (int j = i + 1; j < n; j++) {
                // 判断是否互质且分子小于分母
                if (gcd(a[i], a[j]) == 1) {
                    cnt++;
                }
            }
        }
        printf("%d\n", cnt);
    }
    return 0;
}

全部评论

相关推荐

07-02 13:50
闽江学院 Java
点赞 评论 收藏
分享
06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 11:47
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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