1062 最简分数 (20 分)

#include<stdio.h>

int GCD(int i, int K)
{
    return K==0 ? i : GCD(K, i%K);
}

int main()
{
    int N1, N2, M1, M2, K;
    int i, flag = 0, temp;
    scanf("%d/%d %d/%d %d", &N1, &M1, &N2, &M2, &K);

    if(N1*M2 > N2*M1)
    {
        temp = N1;
        N1 = N2;
        N2 = temp;

        temp = M1;
        M1 = M2;
        M2 = temp;
    }


    for(i=0; i<K; i++)
    {
        if(K*N1 < i*M1 && i*M2 < N2*K)
        {
            if(GCD(i, K) == 1)
            {
                if(flag)
                    printf(" ");

                printf("%d/%d", i, K);
                flag++;

            }
        }
    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容