-4

我再次问,因为在我的问题不清楚之前。所以我需要为我的大学编写一个程序来计算拉格朗日多项式(Wiki)并写出多项式 p(x)

(如 x^2 + 2x + 4 或只是 x^2)
我的问题是:我如何计算这样的东西 -
(x+1)*(x-1)
并在计算后打印
x^2, 3x^3
? X 未知,不能声明为数字。有什么想法可以做到吗?

4

1 回答 1

2

我不知道为什么,但我会咬紧牙关尝试回答你的问题(即使你自己似乎没有付出任何必要的努力,但可能你根本不知道从哪儿开始)。

在您的两个问题(这个问题和另一个问题)中,您都使用了相同的示例:(x + 1) * (x - 1)我认为让大学生为家庭作业编写某种 Mathematica 风格的符号操作系统是荒谬的……所以我将冒险出去,假设作业真的是编写一个程序,该程序将只解决特定于以下形式的函数:(x + n) * (x + g)

如果是这样,那么这是一个相当直接的任务。

您需要意识到的第一个想法是您可以将其表示为多项式形式,如下所示:

x^2 + (n+g)x + ng

因此,您可以提示用户输入“n”和“g”,然后计算n+gn*g简单地打印出上述表格中的结果。

像这样的东西:

#include <stdio.h>
#include <math.h>

int main(int argc, const char * argv[])
{
    int n = 1;
    int g = -1;

    // Print Input:
    printf("(x %c %d)(x %c %d) = ", (n >= 0 ? '+' : '-'), (int)fabs(n), (g >= 0 ? '+' : '-'), (int)fabs(g));

    // Calculate Terms:
    int term2 = n + g;
    int term3 = n * g;

    // Print Result:
    printf("x^2");
    if (term2 != 0) { printf(" %c %dx", (term2 >= 0 ? '+' : '-'), (int)fabs(term2)); }
    if (term3 != 0) { printf(" %c %d", (term3 >= 0 ? '+' : '-'), (int)fabs(term3)); }
    printf("\n");

    return 0;
}

对于值 n=1 和 g=-1,上述输出为:x^2 - 1

对于值 n=3 和 g=5,上述输出为:x^2 + 8x + 15

这似乎与您正在寻找的内容一致。

祝你好运。

于 2013-11-04T20:48:51.760 回答