乘以二项式

时间:2013-11-04 20:13:27

标签: c

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

(like x^2 + 2x + 4 or just x^2)
我的问题是:如何计算这样的事情 -
(x+1)*(x-1)
并在计算
x^2, 3x^3
之类的内容后进行打印? X未知,不能声明为数字。我有什么想法可以做到吗?

1 个答案:

答案 0 :(得分:2)

我不知道为什么,但是我会咬一口,然后小心翼翼地回答你的问题(即使看起来你自己没有付出任何必要的努力,也许你只是在做'甚至知道从哪里开始。)

在你的两个问题中(这一个和your other one)你都使用了相同的例子:(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

这似乎与您正在寻找的内容相符。

祝你好运。