C シェルを使用して次のタスクを完了する方法を見つける必要があります (別のシェルは使用できません)。
ガロア体計算を使用して、より大きな多項式から多項式係数を出力するプログラムがあります。出力は 1 行で、次のようになります (数字の実際の値には注意しないでください。ランダムに選んだので、数学的にはうまくいきません)。
(0 1 4 6 7 8 11 12 13) = (0 1)^3 * (0 4 5) * (0 2 4 6)^4 * (0 2 3)^2
多項式の計算方法では、係数が偶数になると、その係数は多項式の値に対して不要になります。1 を掛けるようなものです。私がする必要があるのは、多項式の因数を抽出し、余分な因数を取り除くことです。
sed を使用して、上記の式を次の形式に変更できました。
(0 1) ^ 3 * (0 4 5) * (0 2 4 6) ^ 4 * (0 2 3) ^ 2
しかし、どうすればよいかわかりません。
上記を C シェル スクリプトに入力し、次の配列割り当てを行います。
Array A = (0 1)
Array B = (0 4 5)
次のように、最初に多項式の要素を別々の行に分けるのが最善の方法だと思います。
(0 1) ^ 3
(0 4 5)
(0 2 4 6) ^ 4
(0 2 3) ^ 2
しかし、これを行う方法がわかりません。
誰でも役立つヘルプやヒントを提供できますか? 多項式の係数の数は変更されることに注意してください。ただし、8 を超えることはないと思います。指数の値は重要ではありません。偶数か奇数かを判断するだけです。それらが変数または配列に割り当てられている場合、私はそれを簡単に行うことができます。単一因子の最大可能サイズは、おそらく括弧内の個体数約 50 です。