秦九韶算法
秦九韶算法是中国南宋时期的数学家秦九韶提出的一种多项式简化算法。在西方被称作霍纳算法。秦九韶(约公元1202年-1261年),字道古,南宋末年人,出生于鲁郡(今山东曲阜一带人)。
一、秦九韶算法:
假定现在有一个n次多项式需要计算。
按照朴素算法来计算,我们需要次乘法和次加法。我们知道做乘法的代价是很高的,所以朴素算法是非常低效的。
二、那么,现在引入今天的重头戏——秦九韶算法(Horner法则)。
这样,对于一个n次多项式,我们至多需要做n次乘法和n次加法。
三、代码实现
代码实现:(编译器:DEVC++)
以
为例。


四、例题
HDU1212——Big Number
题意:【大整数取模】
给你一个长度不超过1000的大数A,还有一个数值不超过100000的B,快速求A % B。
分析:
由秦九韶算法可知,任意一个整数
可以拆分为:
![]()
例如:![]()
则大整数取模,就可以转化为n个多项式每步取模。


浙公网安备 33010602011771号