思路:
记得和之前百度之星的一道题有点像。
拿十进制为例,假设三位数 100a+10b+c可以
转化成99a+9b+(a+b+c),很容易可以看出当(a+b+c)
是3的倍数能被3整除时,99a+9b+(a+b+c)也就能被3整除,
其它位数也都满足该情况。当(a+b+c)是9的倍数时,99a+9b+(a+b+c)
也能被9整除,另外1也满足这个条件,所以进制p为10时有
三个数1,3,9满足。现在一般化,当进制p,假设三位数ppa+pb+c
可以转化成(pp-1)*a+(p-1)*b+(a+b+c),当(a+b+c)能被(p-1)整
除时该三位数即能被(p-1)整除,((p^n-1)都能被(p-1)整除)
所以y能被(b-1)整除,看(b-1)能不能被k整除就行。
代码:
#include<bits/stdc++.h>
#define ll unsigned long long
using namespace std;
const int N=2e5+10;
const ll mod=1e9+7;
inline int rd()
{
register int s=0,w=1;
register char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-') w=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
s=s*10+ch-'0';
ch=getchar();
}
return s*w;
}
ll s[N],pre[N];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
ll b,x;
scanf("%lld%lld",&b,&x);
if((b-1)%x==0) printf("T\n");
else printf("F\n");
}
return 0;
}