hdu 6108 小C的倍数问题(同余定理)
2017-08-13 10:52
281 查看
http://www.cnblogs.com/zzqc/p/6684794.html
转载至
我们都知道对于十进制数,只要这个数能除尽3/9则他个位数字之和也能除尽3/9,以前只知道用没有证明过,下面来简单证明一下。
对于十进制数,举个简单的例子,这个数是abcd,他表示的大小就是 x=1000*a+100*b+10*c+d ,
我们对他进行转化 x=999*a+99*b+9*c+(a+b+c+d)
x=9(99*a+9b+c)+(a+b+c+d)
因为9一定能除尽3和9,所以对于x,只要(a+b+c+d)能除尽3和9,则x也能除尽3和9.
上面只是举了一个数,下面来针对任意进制P(P>2)证明,
假设一个n位的P进制数x是 anan-1an-2.......a3a2a1
则x=an*Pn-1+an-1*Pn-2+an-2*Pn-3+......+a3*P2+a2*P1+a1*P0.
类似于上面的操作,我们凑出来一个各位数之和,
x=(an*(Pn-1-1)+an-1*(Pn-2-1)+an-2*(Pn-3-1)+......+a3*(P2-1)+a2*(P1-1))+(a1+a2+a3+......an-2+an-1+an)
观察发现Pn-1=(Pn-1-1)*P+(P1-1) (n>=2) 展开后发现所有的项都含有(P-1),也就是说Pn-1一定能除尽(P-1),所以也能除尽P-1的因子,
所以对于任意的(P-1)得因子q,只要各位数之和(a1+a2+......+an)能除尽q,那么x也能除尽q。
学习了同余方程后发现,也能用同余来解释,
例如 417≡4*10*10+1*10+7≡4*1*1+1*1+7≡4+1+7 (mod 3)
对于P进制数anan-1......a2a1≡an*P^n-1+an-1*P^n-2......+a2*P+a1 (mod B)
对于上面的式子显然,当P mod B为1的时候,上式就可化简为≡an*1*1...+an-1*1*1....+a2*1+a1 mod(B)
所以此时这个P进制数模B后的值就等于各位数字和模B后的值,前提是P%B=1-->(P-1)%B=0,也就是P-1的因子
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 468 Accepted Submission(s): 268
Problem Description
根据小学数学的知识,我们知道一个正整数x是3的倍数的条件是x每一位加起来的和是3的倍数。反之,如果一个数每一位加起来是3的倍数,则这个数肯定是3的倍数。
现在给定进制P,求有多少个B满足P进制下,一个正整数是B的倍数的充分必要条件是每一位加起来的和是B的倍数。
Input
第一行一个正整数T表示数据组数(1<=T<=20)。
接下来T行,每行一个正整数P(2 < P < 1e9),表示一组询问。
Output
对于每组数据输出一行,每一行一个数表示答案。
Sample Input
1
10
Sample Output
3
转载至
我们都知道对于十进制数,只要这个数能除尽3/9则他个位数字之和也能除尽3/9,以前只知道用没有证明过,下面来简单证明一下。
对于十进制数,举个简单的例子,这个数是abcd,他表示的大小就是 x=1000*a+100*b+10*c+d ,
我们对他进行转化 x=999*a+99*b+9*c+(a+b+c+d)
x=9(99*a+9b+c)+(a+b+c+d)
因为9一定能除尽3和9,所以对于x,只要(a+b+c+d)能除尽3和9,则x也能除尽3和9.
上面只是举了一个数,下面来针对任意进制P(P>2)证明,
假设一个n位的P进制数x是 anan-1an-2.......a3a2a1
则x=an*Pn-1+an-1*Pn-2+an-2*Pn-3+......+a3*P2+a2*P1+a1*P0.
类似于上面的操作,我们凑出来一个各位数之和,
x=(an*(Pn-1-1)+an-1*(Pn-2-1)+an-2*(Pn-3-1)+......+a3*(P2-1)+a2*(P1-1))+(a1+a2+a3+......an-2+an-1+an)
观察发现Pn-1=(Pn-1-1)*P+(P1-1) (n>=2) 展开后发现所有的项都含有(P-1),也就是说Pn-1一定能除尽(P-1),所以也能除尽P-1的因子,
所以对于任意的(P-1)得因子q,只要各位数之和(a1+a2+......+an)能除尽q,那么x也能除尽q。
学习了同余方程后发现,也能用同余来解释,
例如 417≡4*10*10+1*10+7≡4*1*1+1*1+7≡4+1+7 (mod 3)
对于P进制数anan-1......a2a1≡an*P^n-1+an-1*P^n-2......+a2*P+a1 (mod B)
对于上面的式子显然,当P mod B为1的时候,上式就可化简为≡an*1*1...+an-1*1*1....+a2*1+a1 mod(B)
所以此时这个P进制数模B后的值就等于各位数字和模B后的值,前提是P%B=1-->(P-1)%B=0,也就是P-1的因子
小C的倍数问题
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 468 Accepted Submission(s): 268
Problem Description
根据小学数学的知识,我们知道一个正整数x是3的倍数的条件是x每一位加起来的和是3的倍数。反之,如果一个数每一位加起来是3的倍数,则这个数肯定是3的倍数。
现在给定进制P,求有多少个B满足P进制下,一个正整数是B的倍数的充分必要条件是每一位加起来的和是B的倍数。
Input
第一行一个正整数T表示数据组数(1<=T<=20)。
接下来T行,每行一个正整数P(2 < P < 1e9),表示一组询问。
Output
对于每组数据输出一行,每一行一个数表示答案。
Sample Input
1
10
Sample Output
3
相关文章推荐
- hdu 6108 小C的倍数问题(同余定理)
- hdu 6108 小C的倍数问题(同余定理)
- hdu 6108 小C的倍数问题(同余定理)
- hdu 6108 小C的倍数问题(同余定理)
- hdu 6108 小C的倍数问题(同余定理)
- hdu 6108 小C的倍数问题(同余定理)
- hdu 6108 小C的倍数问题(同余定理)
- hdu 6108 小C的倍数问题(同余定理)
- hdu 6108 小C的倍数问题(同余定理)
- hdu 6108 小C的倍数问题(同余定理)
- hdu 6108 小C的倍数问题(同余定理)
- hdu 6108 小C的倍数问题(同余定理)
- hdu 6108 小C的倍数问题(同余定理)
- hdu 6108 小C的倍数问题(同余定理)
- hdu 6108 小C的倍数问题(同余定理)
- HDU 6108 小C的倍数问题【】
- HDU 6108 小C的倍数问题 【数学】 (2017"百度之星"程序设计大赛 - 初赛(A))
- HDU 6108 小C的倍数问题 【数学】 (2017"百度之星"程序设计大赛 - 初赛(A))
- HDU 6108 小C的倍数问题 (求因子数量)
- HDU 6108 小C的倍数问题 (数论 2017百度之星初赛A第1题)