不断地输入一组多项式资料(指数最高不超过5000),直到此组资料符合离开条件时则程式结束。每次输入的一组资料内容如下所示:
N c1 e1 c2 e2 … cN eN
N代表接下来输入多项式的项数
c1 c2 … cN 表示各个项式中的系数
e1 e2 … eN 则表示各个项式中的指数
在此注意的是当N<=0时,则代表此资料符合离开程式条件
当一组资料被输入且不符合离开条件时,请输出到目前为止所输入多项式资料的总和。
多项式资料请以降幂方式排序输出。
输入资料:
3 2 2 3 1 1 0
3 1 1000 -3 1 2 0
1 -3 0
-1
代表的多项式为:
2 x^2 + 3 x + 1
x^1000 - 3 x + 2
-3
最后输出结果:
2 2 3 1 1 0
1 1000 2 2 3 0
1 1000 2 2
#include <stdio.h>
int d[5001];
int N;
int c,e,i,f;
int main() {
while (1) {
scanf("%d",&N);
if (N<=0) break;
for (i=0;i<N;i++) {
scanf("%d%d",&c,&e);
d[e]+=c;
}
f=1;
for (i=5000;i>=0;i--) {
if (d[i]!=0) {
if (f) {printf( "%d %d",d[i],i);f=0;}
else printf(" %d %d",d[i],i);
}
}
printf("\n");
}
return 0;
}