Codeforces 983A Finite or not?
题面在这里
如果是十进制的话,只要q不含除2和5之外的质因子就Finite了
那么大胆猜想,只有q只含有b所含的质因子才能Finite,否则就是Infinite
示例程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #include<cstdio> typedef long long ll; ll p,q,b; int tst; ll gcd(ll x,ll y){ if (y==0) return x; return gcd(y,x%y); } int main(){ scanf("%d",&tst); while (tst--){ scanf("%lld%lld%lld",&p,&q,&b); if (p==0) {printf("Finite\n");continue;} ll t=gcd(p,q);p/=t;q/=t; while (q>1){ t=gcd(q,b); if (t==1) break; while (q%t==0) q/=t; } if (q==1) printf("Finite\n");else printf("Infinite\n"); } return 0; }
|