数论 gcd 判断p/q 在k进制下 是不是循环小数

转自https://blog.csdn.net/we1215053460/article/details/80345769

主要先化简

看分母和k进制数之间的关系,

#include<stdio.h>

int n;
__int64 a,b,c,s,t;

__int64 get_gcd(__int64 u,__int64 v)
{
    if(v==0) return u;
    return get_gcd(v,u%v);
}

int main()
{
    while(~scanf("%d",&n))
    {
        while(n--)
        {
            scanf("%I64d%I64d%I64d",&a,&b,&c);
            s=get_gcd(a,b);
            a/=s;
            b/=s;
            while(b!=1 && c!=1)
            {
                c=get_gcd(b,c);
                b/=c;
            }
            if(b==1) printf("Finite\n");
            else printf("Infinite\n");
        }
    }
    return 0;
}

posted @ 2018-05-20 23:06  LandingGuys  阅读(24)  评论(0编辑  收藏  举报