CodeForces 493 E.Vasya and Polynomial(数学)

来源:互联网 发布:网络棋牌赌博举报没用 编辑:程序博客网 时间:2024/06/05 18:05
Description 
有一个系数均非负的多项式函数p(x),已知p(t)=a,p(a)=b,给出t,a,b,问满足条件的p(x)有多少个 
Input 
输入三个整数t,a,b(1<=t,a,b<=1e18) 
Output 
输出满足条件的p(x)个数,如果无解则输出0,如果无穷多解则输出INF 
Sample Input 
2 2 2 
Sample Output 

Solution 

这里写图片描述 

#include<cstdio>using namespace std;typedef long long ll;int main(){    ll t,a,b;    while(~scanf("%I64d%I64d%I64d",&t,&a,&b))    {        if(t==a)        {            if(a==b)printf("%s\n",a==1?"inf":"2");            else printf("0\n");        }        else if(a==b)printf("1\n");         else if(a<t||b<a)printf("0\n");        else        {            ll p=1,c=0;            while(b)c+=(b%a)*p,b/=a,p*=t;            if(t==1)printf("%d\n",(c==a||c==1)?1:0);            else printf("%d\n",c==a?1:0);        }    }    return 0;}