漫谈进位制:两步确定多项式的各项系数

数的表示与其采用的进制密不可分,利用这个性质无疑可以帮助你解决许多原本棘手的问题。

一、两步确定多项式的各项系数

黑匣子里有一个关于 \(x\) 的多项式 \(P(x)\) ,其项数未知,但各项的系数都是正整数。如果给黑匣子输入一个数 \(z\),黑匣子将返回多项式 \(P(z)\) 的值。

every errbase is 10

试问:如何在两步之内还原出整个多项式?

  1. 输入 \(1\) ,于是便得到整个多项式的所有系数之和。不妨把和记作 \(s\)
  2. 输入 \(s + 1\) ,于是黑匣子返回 \(a_n * (s + 1)^n + a_{n-1} * (s + 1)^{n-1} + … + a_1 * (s + 1) + a_0\)
  3. 把该值转换成 \(s + 1\) 进制,依次读出每一位上的数,它们就是多项式的各项系数了。

二、举一反三

上述示例其实也说明,学习知识不能墨守成规,应当融汇贯通。很多人学习二进制、八进制与十六进制的时候根本不会深入思考。其实有时从进制的角度去看待问题,也许能发现一个不同的世界。

1、多项式的乘法

譬如 \((x+a)(x+b)\) 可以看作 \(x\) 进制的乘法,也就是 \(1a \times 1b\) ,仿照十进制乘法的计算规则可以得到:

\begin{matrix}&&1&a \\ \times&&1&b\\\hline &&b\times 1&b\times a\\ +&1\times 1&1\times a&\\\hline &1&a+b&ab\end{matrix}

将上述 \(x\) 进制的结果 \(1\,\,\,(a+b)\,\,\,ab\) 转为 10 进制(按权重展开),即为 \(1\times x^2+(a+b)\times x^1+(ab)\times x^0\)

2、整除

大家都知道一个数是否能被 2 整除只需要看它的个位能否被 2 整除即可,可是你想过为什么吗?这是因为 10 能被 2 整除。

而看一个数能否被 3 整除只需要看各位数之和是否能被 3 整除,这又是为什么呢?因为 \(10^n-1\) 总能被 3 整除。如:2345 可以写成 \(2 \times (999+1) + 3 \times (99+1) + 4 \times (9+1) + 5\),展开就是 \(2 \times 999+3 \times 99+4 \times 9 + (2+3+4+5)\)。因此 2345 能否被 3 整除就只需要看 \((2+3+4+5)\) 能否被 3 整除了。

3、十六进制

最后举个有趣的“栗子”:你面前有 20 盏灯,每盏灯都处于亮、灭其中一种状态,请你在 1 分钟内记住所有灯的状态,请问你如何做到?

很简单,假设亮为 1,灭为 0,20 盏灯对应一个 20 位的二进制数,将其转化为 32 进制的数,仅有 4 位数,并且由于 \(2^5=32\),32 进制的每一位数都对应 5 盏灯的状态。而这正式 16 进制诞生的重要原因之一。

转载于:https://www.cnblogs.com/Pandaman/p/base.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值