1 条题解
-
0
题意分析
- 多项式除法与余式
(1)多项式除以的余式,其最高次数不超过。 (2)数学表达式:$$a(x) = q(x) \cdot x^{k+1} + r(x), \quad \deg(r) \leq k. $$因此,就是去掉所有及更高次项后的部分。
解题思路
1、直接截断,保留前项(即)。
- 如果,则余式就是本身。
2、边界情况
- 如果,余式就是常数项。
- 如果,余式为。
C++代码实现
#include <iostream> #include <cstdio> using namespace std; const int maxn = 10010; int main() { int n,k; int val[maxn]; while(scanf("%d%d",&n,&k)!=EOF,n!=-1 || k !=-1) { int i; for(i = 0 ; i <= n ; ++i) { scanf("%d",&val[i]); } //进行除法运算 for(i = n ; i >= k ; --i) { if(val[i] == 0) { continue; } val[i-k] = val[i-k] - val[i]; val[i] = 0; } //调整数组长度,即高位的0不用输出 int t = n; while(val[t] == 0 && t > 0) { --t; } for(i = 0 ; i < t ; ++i) { printf("%d ",val[i]); } printf("%d\n",val[t]); } return 0; }
- 多项式除法与余式
- 1
信息
- ID
- 1528
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者