您的位置:首页 > 其它

UVA 10719 Quotient Polynomial

2016-07-15 20:00 169 查看

UVA-10719

题意:给出p(x)的系数和一个数字k,求一个比p(x)少一次就的q(x),使得p(x)=(x-k)*q(x)+r。

解题思路:用待定系数可以知道,q(x)中 x^n-1 的系数b[n-1] 会等于p(x)中 x^n 的系数a


然后可以推出-k*b[n-1]+b[n-2] =a[n-1] —-> b[n-2]=a[n-1]+k*b[n-1]。

然后正向存,x^n的系数为a[1],那么对于每个b[i]会有b[i]=a[i]+k*b[i-1];b
就是r。

/*************************************************************************
> File Name: UVA-10719.cpp
> Author: Narsh
>
> Created Time: 2016年07月15日 星期五 09时38分42秒
************************************************************************/

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
int a[10060],b[10060],k,n;
char c;
int main () {
while (scanf("%d\n",&k) != EOF) {
c=' ';
n=0;
b[0]=0;
while (c != '\n' ) scanf("%d%c",&a[++n],&c);
for (int i = 1; i <= n; i++)
b[i]=a[i]+k*b[i-1];
printf("q(x):");
for (int i = 1; i < n; i++)
printf(" %d",b[i]);
printf("\nr = %d\n\n",b
);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: