uva 10586 - Polynomial Remains(数论)
2014-04-13 15:58
656 查看
题目链接:uva 10586 - Polynomial Remains
题目大意:给出一个n和k,表示有一个一元n次方程,有0次幂开始给出系数,用这个式子去除以x^k+1,求剩下的一元n-k次方程。
解题思路:模拟除的过程即可,注意k < n的情况.
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
const int N = 10005;
int n, k, a
;
int main () {
while (scanf("%d%d", &n, &k) == 2 && n != -1 && k != -1) {
for (int i = n; i >= 0; i--)
scanf("%d", &a[i]);
int t = max(n - k, -1);
for (int i = 0; i <= t; i++)
a[i+k] -= a[i];
printf("%d", a
);
for (int i = n - 1; i > t; i--)
printf(" %d", a[i]);
printf("\n");
}
return 0;
}
题目大意:给出一个n和k,表示有一个一元n次方程,有0次幂开始给出系数,用这个式子去除以x^k+1,求剩下的一元n-k次方程。
解题思路:模拟除的过程即可,注意k < n的情况.
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
const int N = 10005;
int n, k, a
;
int main () {
while (scanf("%d%d", &n, &k) == 2 && n != -1 && k != -1) {
for (int i = n; i >= 0; i--)
scanf("%d", &a[i]);
int t = max(n - k, -1);
for (int i = 0; i <= t; i++)
a[i+k] -= a[i];
printf("%d", a
);
for (int i = n - 1; i > t; i--)
printf(" %d", a[i]);
printf("\n");
}
return 0;
}
相关文章推荐
- UVA 10586 - Polynomial Remains(数论)
- 【数论】UVa 10586 - Polynomial Remains
- UVA 11461 - Square Numbers(数论)
- UVa 10940 - Throwing cards away II(数论,规律)
- UVA - 575 - Skew Binary (简单数论!)
- 数论:欧拉函数 uva 10820
- uva 10726 - Coco Monkey(数论)
- UVA 11401 - Triangle Counting(数论+计数问题)
- UVA_374 Big Mod_数论
- UVA 10127 - Ones(数论)
- UVA 10692 - Huge Mods(数论)
- 数论基础1011 UVA 11754 剩余定理+枚举
- UVA 10519 - !! Really Strange !!(数论,规律)
- UVA 10820 - Send a Table 数论 (欧拉函数)
- Again Prime? No Time.(uva10870+数论)
- UVa 1363 约瑟夫的数论问题
- UVA 11256 - Repetitive Multiple(数论)
- UVA 11426 - GCD - Extreme (II) (数论)
- UVA 10951 - Polynomial GCD(数论)
- UVA 1415 - Gauss Prime(数论,高斯素数拓展)