Vasya is studying in the last class of school and soon he will take exams. He decided to study polynomials. Polynomial is a function P(x) = a0 + a1x1 + ... + anxn. Numbers ai are called coefficients of a polynomial, non-negative integer n is called adegree of a polynomial.

Vasya has made a bet with his friends that he can solve any problem with polynomials. They suggested him the problem: "Determine how many polynomials P(x) exist with integer non-negative coefficients so that , and , where and b are given positive integers"?

Vasya does not like losing bets, but he has no idea how to solve this task, so please help him to solve the problem.

Input

The input contains three integer positive numbers no greater than 1018.

Output

If there is an infinite number of such polynomials, then print "inf" without quotes, otherwise print the reminder of an answer modulo 109 + 7.

Sample test(s)
input
C++
2 2 2
1
2 2 2
output
C++
2
1
2
input
C++
2 3 3
1
2 3 3
output
C++
1
1
1

【分析】

题意:给出三个正整数t,a,b。

问有多少个形如P(x) = a0 + a1 * x + a2 * (x ^ 2) + ....+an * (x ^ n) {ai >= 0 | 0<= i <=n} 的多项式满足P(t) = a,且P(a) = b。注意n未给出。

有意思的一道题。

答案只有三种情况:

1、t = a = b = 1,Ans = INF。显然,n可以取到任意大。

2、t = a = b > 1,Ans = 2。也比较显然,既P(t) = t,仅在 n = 0, a0 = t和 n = 1, a1 = 1, a0 = 0的时候成立,n再大 $t^n$ 就会导致答案大于t了。

3、其他情况下最多一组解。

证明:

首先由P(t) = a 易知 多项式sum{ai | 0<= i <=n} <= a,且仅在t = 1的时候取等号。

①t > 1

假设存在一个多项式P(a) = a0 + a1 * a + a2 * (a ^ 2) +.... +an * (a ^ n) = b,我们尝试将其中任意一项 (a ^ k)的系数 ak 减 1 (k >= 1 且 ak > 0)。

整体的值减少了(a ^ k), 将a ^ k 化为 (a ^ k1) * (a ^ k2),(k1+k2 = k 且 k1 <= k2),把a ^ k1当做系数,将会使整个多项式的系数大于等于a(系数增加了至少a - 1),因此不满足条件。

所以可知,如果存在一个多项式P(a)满足条件,一定不存在其他的多项式满足条件,即最多只存在一个多项式符合条件。

想要得到这个多项式也很简单,即相当于对b进行进制转换,变成a进制,然后再将t带入验证即可。

②t = 1

P(1) = a0 + a1 + a2 + .. an = a,P(a) = a0 + a1 * a + a2 * (a ^ 2) + .. an * (a ^ n) = b;

看到系数和已经被确定了为a了,接下来证明跟上面一样的...

代码没写....

【CF493E】【数学】Vasya and Polynomial的更多相关文章

  1. cf493E Vasya and Polynomial

    Vasya is studying in the last class of school and soon he will take exams. He decided to study polyn ...

  2. Codeforces Codeforces Round #319 (Div. 2) C. Vasya and Petya's Game 数学

    C. Vasya and Petya's Game Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/ ...

  3. Codeforces Round #319 (Div. 2) C. Vasya and Petya's Game 数学

    C. Vasya and Petya's Game time limit per test 1 second memory limit per test 256 megabytes input sta ...

  4. 数学 - Codeforces Round #319 (Div. 1)A. Vasya and Petya's Game

    Vasya and Petya's Game Problem's Link Mean: 给定一个n,系统随机选定了一个数x,(1<=x<=n). 你可以询问系统x是否能被y整除,系统会回答 ...

  5. poj 2126 Factoring a Polynomial 数学多项式分解

    题意: 给一个多项式,求它在实数域内的可分解性. 分析: 代数基本定理. 代码: //poj 2126 //sep9 #include <iostream> using namespace ...

  6. CodeForces 577C Vasya and Petya's Game 数学

    题意就是给你一个1到n的范围 你每次可以问这个数是否可以被某一个数整除 问你要猜多少数才能确定这个数…… 一开始一点思路也没有 后来查了一下才知道 每个数都可以分为几个质数的整数次幂相乘得到…… #i ...

  7. Codeforces Round #512 (Div. 2) D.Vasya and Triangle 数学

    题面 题意:给你n,m,k,在你在(0,0)到(n,m)的矩形内,选3个格点(x,y都是整数),使得三角形面积为n*m/k,不能找到则输出-1 题解:由毕克定理知道,格点多边形的面积必为1/2的整数倍 ...

  8. Polynomial Library in OpenCascade

    Polynomial Library in OpenCascade eryar@163.com 摘要Abstract:分析幂基曲线即多项式曲线在OpenCascade中的计算方法,以及利用OpenSc ...

  9. 一些对数学领域及数学研究的个人看法(转载自博士论坛wcboy)

    转自:http://www.math.org.cn/forum.php?mod=viewthread&tid=14819&extra=&page=1 原作者: wcboy 现在 ...

随机推荐

  1. Dynamics CRM 2011 2013-(An error occurred while opening mailbox xxx@xx.com Microsoft.Crm.Tools.Email.Providers.)

    An error occurred while opening mailbox  Microsoft.Crm.Tools.Email.Providers. Whenever I check how C ...

  2. POJ1751--Highways(最小生成树,kauskal)

    裸最小生成树.用kauskal做方便一些. 不得不说这么大数据用cin cout 真是作死..活该T那么多次... /***************************************** ...

  3. A Tour of Go Pointers

    Go has pointers, but no pointer arithmetic. Struct fields can be accessed through a struct pointer. ...

  4. ios:Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' - perhaps the designated entry point is not set?

    - (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)laun ...

  5. HTML 的 iframe 元素

    在 HTML 中, iframe 元素用于在网页中嵌入其它网页的内容,例如: <iframe src="http://example.com/abc.html">ifr ...

  6. JBPM流程实例(PI)Process Instance

    /** * 流程实例 *    *  启动流程实例 *    *  完成任务 *    *  查询 *      *  查询流程实例 *      *  查询任务 *          *  查询正在 ...

  7. CAS认证(1):流程详解

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  8. redis远程连接超时

     今天在用jedis连接远程的redis时,抛出连接超时异常:connect timed out. 详细信息例如以下: Exception in thread "main" r ...

  9. mysql 服务器ip连接统计

    有的时候数据库服务器连接数过大,也没有慢sql,想知道哪些应用服务器连接上来的比较多,下面的命令轻松搞定 netstat -tnp|grep ESTABLISHED|awk '{ print $5 } ...

  10. windows 7 64位 安装oracle 11g R2

    1.下载Oracle 11g R2 for Windows的版本 下载地址: http://www.oracle.com/technetwork/database/enterprise-edition ...