1.稀疏多项式
#include <bits/stdc++.h>
using namespace std;
#define LIST_INIT_SIZE 25
typedef struct
{
int *c;
int *e;
int length;
int listsize;
}Sqlist;
int index;
void InitList_Sq(Sqlist &L)
{
L.e = (int * )malloc(LIST_INIT_SIZE*sizeof(int));
L.c = (int * )malloc(LIST_INIT_SIZE*sizeof(int));
L.length = 0;
L.listsize = LIST_INIT_SIZE;
}
void ListInsert_Sq(Sqlist &L,int pos, int c,int e)
{
L.e[pos] = e;
L.c[pos] = c;
L.length++;
}
int GetSum(Sqlist &L)
{
int sum = 0;
for (int i=0; i < L.length ; i++)
{
int tmp = L.c[i]*(int)pow(index,L.e[i]);
sum += tmp;
}
return sum;
}
int main()
{
Sqlist Sq;
InitList_Sq(Sq);
int m;
scanf("%d",&m);
for (int i=0; i<m; i++)
{
int c,e;
scanf("%d %d",&c,&e);
ListInsert_Sq(Sq,i,c,e);
}
scanf("%d",&index);
printf("%d\n",GetSum(Sq));
return 0;
}
/*
2
1 1
1 1
1
2
55 55
66 66
1
*/