2016-08-10
UVA - 10719 Quotient Polynomial
题目大意:多项式 p(x)=(x-k)q(x)+r,给出 k 和 p(x)求 q(x) 和 r。
解题思路:待定系数,推得 b[i] = a[i] - k * b[i-1],其中a 为 p 的系数,b 为 q 的系数。
k 是 (x-k) 的 k,不是 k 次方,样例害死人!!!
#include <iostream>
#include <cstdio>
using namespace std;
int a[100000],b[100000];
int main() {
int k;
int r;
char c;
while ( scanf("%d", &k) != EOF ) {
k *= (-1);
int n = 1;
while ( scanf("%d%c", &a[n], &c) ) {
if ( c == '\n' )
break;
n++;
}
b[0] = 0;
cout << "q(x):";
for (int i = 1; i < n; i++) {
b[i] = a[i] - k*b[i-1];
cout << " " << b[i];
}
r = a[n] - k*b[n-1];
cout << endl << "r = " << r << endl << endl;
}
return 0;
}