CF983A

/*
判断p/q在b进制下是否是无限小数
如果1/q是在b进制下是有限小数,那么1/q能够写成
a1/b+a2/b^2+...+an/b^n
也就是q的所有素因子也是b的素因子
*/
#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
#include<cstring>
#include<string>
#include<cmath>
using namespace std;
typedef long long LL;
const int MAXN=6e4+5;

LL gcd(LL x,LL y){
    return y==0?x:gcd(y,x%y);
}

int main(){
    int n;
    scanf("%d",&n);
    while(n--){
        LL p,q,b;
        scanf("%I64d%I64d%I64d",&p,&q,&b);
        if(p==0) {puts("Finite");continue;}//显然
        LL g=gcd(p,q);
        q/=g;//p,q互素
        g=gcd(q,b);
        while(g!=1){
            while(q%g==0) q/=g;
            g=gcd(q,b);
        }
        if(q==1) puts("Finite");
        else puts("Infinite");
    }
    return 0;
}

阅读更多

扫码向博主提问

algzjh

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • ACM
去开通我的Chat快问
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/algzjh/article/details/80336640
文章标签: 素数 CF
个人分类: 数论
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭