以前の質問がわかりにくかったので再度質問します。したがって、ラグランジュの多項式 ( Wiki ) を計算し、多項式 p(x) を書き出す大学向けのプログラムを作成する必要があります。
(x^2 + 2x + 4 または単に x^2 のように)そして私の質問は次のとおりです。このようなことをどのように計算できますか-
(x+1)*(x-1)のようなものを計算した後に印刷します
x^2、3x^3? X は不明であり、数値として宣言することはできません。どうすればそれを作ることができますか?
理由はわかりませんが、あなたの質問に答えようとがんばります (あなた自身で必要な努力をまったくしていないように見えますが、単に知らないだけかもしれません)。どこから始めれば)。
両方の質問 (これと他の質問) で同じ例を使用しました:(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
これはあなたが探しているものと一致しているようです。
幸運を。