5706 - mid2_Exercise7_多項式相加   

Description

假設有兩多項式
f(x) = A1xa1 + A2xa2 + A3xa3 + ...
g(x) = B1xb1 + B2xb2 + B3xb3 + ...
其中係數皆為整數, 次方皆為非負整數並且f的次方不重複且由小排到大, g的次方也不重複且由小排到大

則給定兩組係數序列{(A1,a1), (A2,a2), (A3,a3), ...}與{(B1,b1), (B2,b2), (B3,b3), ...}
和一整數n

求f(n) + g(n) = ?

例如

n = 12
{(3,0), (-4,3), (100,4), (-3000,65536)}與{(-12,2), (101,4), (3000,65536)}

會有

f(x) = 3x0 + (-4)x3 + 100x4 + (-3000)x65536
g(x) = (-12)x2 + 101x4 + 3000x65536

f(n) + g(n) = f(12) + g(12) = 4159299


底下是部分程式碼

#include 
#define MAX_TERM 100

int A[MAX_TERM], a[MAX_TERM];
int B[MAX_TERM], b[MAX_TERM];
int C[MAX_TERM], c[MAX_TERM];

int main()
{
    int i, j, k, n, result;
    int f_terms, g_terms, fg_terms;

    scanf("%d", &f_terms);
    for(i = 0; i < f_terms; i++){
        scanf("%d %d", &A[i], &a[i]);
    }
    scanf("%d", &g_terms);
    for(i = 0; i < g_terms; i++){
        scanf("%d %d", &B[i], &b[i]);
    }
    scanf("%d", &n);

    /* ??? */

    printf("%d", result);
    return 0;
}

 

Input

f(x)的項數

係數 次方

g(x)的項數

係數次方

n

Output

f(n) + g(n)

Sample Input  Download

Sample Output  Download

Tags




Discuss