题解 | #最简真分数#

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

终止条件很怪,没给,是scanf返回值为EOF的时候。
GCD算法:
a b
b a%b
... ...
a 0
最后b为0时返回a即可。
a为1,最大公因数为1,互质;否则不互质。
#include<cstdio>
int a[600];
// a>b
int gcd(int a, int b){
    if(b==0) return a;
    return gcd(b, a%b);
}
int main(){
    int n;
    while(scanf("%d", &n)!=EOF){
        int count = 0;
        for(int i=0;i<n;++i){
            scanf("%d", &a[i]);
        }
        for(int i=0;i<n;++i){
            for(int j=i+1;j<n;++j){
                if(gcd(a[j],a[i])>1) continue;
                ++count;
            }
        }
        printf("%d\n", count);
    }
    return 0;
}


全部评论

相关推荐

10-13 13:49
南京大学 财务
饿魔:笑死我了,你简直是个天才
点赞 评论 收藏
分享
Java面试先知:我也是和你一样的情况,hr 说等开奖就行了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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