zrq495
www.zrq495.com

 
令q(x)=bmX^m+bm-1X^(m-1)+...b1X+b0,展开 q(x) * (x-k) = X^(m+1)+[-Kbm+b(m-1)]X^m+...(K+b0)x+K。
相同次数的项的系数相等,所以推出 b(m-1)=k*bm+a[n-1],  r=k*b0+a[0]。

代码如下:

 

 1 #include<iostream>
 2 #include<cstdio>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     int n, p[10010], q[10010], i, k;
 9     while (cin >> k)
10     {
11         i=0;
12         char ch;
13         scanf("%d%c", &p[i++], &ch);
14         while(ch != '\n')
15         {
16             scanf("%d%c", &p[i++], &ch);
17         }
18         cout << "q(x): ";
19         n=i;
20         q[0]=p[0];
21         cout << q[0];
22         for (i=1; i<n-1; i++)
23         {
24             q[i]=k*q[i-1] + p[i];
25             cout << " " << q[i];
26         }
27         cout << endl << "r = " << q[n-2]*k+p[n-1] << endl << endl;
28     }
29     return 0;
30 }
posted on 2012-07-27 17:25  zrq495  阅读(138)  评论(0编辑  收藏  举报