我再问,因为在我的问题不明确之前。 所以我需要为我的大学制作一个程序来计算拉格朗日多项式(Wiki)并写出多项式p(x)
(like x^2 + 2x + 4 or just x^2)我的问题是:如何计算这样的事情 -
(x+1)*(x-1)并在计算
x^2, 3x^3之类的内容后进行打印? X未知,不能声明为数字。我有什么想法可以做到吗?
答案 0 :(得分:2)
我不知道为什么,但是我会咬一口,然后小心翼翼地回答你的问题(即使看起来你自己没有付出任何必要的努力,也许你只是在做'甚至知道从哪里开始。)
在你的两个问题中(这一个和your other one)你都使用了相同的例子:(x + 1) * (x - 1)
我认为要求大学生写一些Mathematica是荒谬的家庭作业的风格象征性操纵系统...所以我要走出困境并假设家庭作业真的要编写一个程序,只能解决特定形式的函数:(x + n) * (x + g)
如果是这种情况,那么这是一个相当直接的任务。
首先想到你需要意识到的是你可以用多项式形式表示:
x^2 + (n+g)x + ng
因此,您可以提示用户输入“n”和“g”,然后计算n+g
和n*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
这似乎与您正在寻找的内容相符。
祝你好运。