• ベストアンサー

数的処理システムのような計算について

初心者です。 C言語は数的処理システムのように計算結果を出力することは可能ですか? 可能ならば教えていただきたいのです。 例えば (x+y)^2を計算し、出力をx^2+2xy+y^2で表示させるようなものです。 おねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kabaokaba
  • ベストアンサー率51% (724/1416)
回答No.2

>C言語は数的処理システムのように計算結果を出力することは可能ですか? 「数的処理」じゃなくって,「数式処理」でしょう. まったく意味の違う言葉なので誤解を招きます. 「可能か?」と問われれば, 単なるCでは不可能だが,プログラムを組めば可能となります. ただし,生半可な知識ではできません. 現実的な手は既存のそういうアプリケーションを使うことです. フリーなら,Maximaあたりが十分な性能でしょう. ほかにも,RISA/Azirとか,McCauleyとかいろいろあります. 商品なら,Mathematica,Maple,Matlabとかいろいろ. 自作したい!というなら 数学的な知識としては, 大学生程度の代数,具体的には,「群」・「環」・「体」に, 多項式環の「グレブナー基底」の知識は最低限必要です. ちなみに,上にあげたMaximaってのは Common LISPという言語も使って書かれてますが, C以外の言語やアルゴリズムそのものの知識も必要でしょう.

1ypsilon1
質問者

補足

ありがとぅございます. 実際にmaximaのような計算をしたいんです. 具体的には,Σa^{n} でnの範囲(-∞≦n≦∞)を指定して出力したいんです. n=0のとき 1 |n|≦1のとき 1+2a |n|≦2のとき 1+2a+2a^{2} aには数字を代入せずそのまま出力さしたいです. お願いします.

その他の回答 (4)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.5

Σa^{n^2} とだけ書かれても, Σ で足す n の範囲は分かりませんよ. 「nの範囲(-∞≦n≦∞)を指定して出力したい」と書かれていますが, n の上下限はどのように与えられるんですか? 1つの整数 N が与えられて -N ≦ n ≦ N で計算する? それとも, 2つの整数 L, U (L ≦ 0 ≦ U) が与えられて L ≦ n ≦ U の範囲になる? もしくはそれ以外の何か? あと, ある意味もっとも重要なんだけど, 本当にこれだけのことであれば「数式処理システムのようなもの」は不要.

1ypsilon1
質問者

補足

あるがとうござぃます。 一応、 -N ≦ n ≦ N の範囲でやりたいと思ってます。 できればどのようにすればよいのか教えていただきたいです。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.4

ど~でもいいんですが, n=0のとき 1 |n|≦1のとき 1+2a |n|≦2のとき 1+2a+2a^{2} っていきなり矛盾してますよね. n=0 なら |n|≦1 も |n|≦2 も成り立ちます. ついでですが「Σa^{n} でnの範囲(-∞≦n≦∞)を指定して出力したい」 として上のようにわけているのですが, 例えば n=1.3 なんかは想定してますか? ということで, #3 とかぶるんだけど「数式処理」うんぬんの前に, やりたいことを明確にしてください.

1ypsilon1
質問者

補足

すみません。ミスです。 Σa^{n}ではなく、Σa^{n^2}です。 nは整数の範囲しか動きません。 本当に説明不足で申し訳ないです。

  • kabaokaba
  • ベストアンサー率51% (724/1416)
回答No.3

>具体的には,Σa^{n} でnの範囲(-∞≦n≦∞)を指定して出力したいんです. >n=0のとき 1 >|n|≦1のとき 1+2a >|n|≦2のとき 1+2a+2a^{2} そもそも数学的にこんな計算にはなりませんし, 等比数列の和の公式を使えばいいだけです. |n|<=1 なら (1/a)+1+a |n|<=2 なら (1/a^2)+(1/a)+1+a+a^2 です. 等比数列の和の公式を使えば整理できます. 一般の自然数kに対してなら (a^k-1)/a^{k-1}(a-1) + (1-a^k)/(1-a) -1 かな.

1ypsilon1
質問者

補足

自分のミスで理解不能な補足説明をしてしまい、すみません。 Σa^{n}ではなく、Σa^{n^2}です。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

ちょっと意味がつかみかねるのですが, 言語としてはそのような機能を持っていないので不可能です. ただし, 当然ながら「そのような機能を持つプログラム」を作ることは可能.

関連するQ&A

  • 速度算(公務員の数的処理)

    H17警視庁3類の数的処理の問題(速度算)なのですが、Aの速さ、あるいはBが歩き始めてAが出会うまでの時間を未知数として解こうと思うと2次方程式を解く羽目になってしまいます。 警視庁3類(高卒区分)というと、2次方程式を解かせるような作業は必要ない出題がほとんどだと思っていたのですが… 答えは36KMなのですが、2次方程式を使わない解答がもしありましたらご教授願いたく思います。 問題: A,Bの2人がXとYを結ぶ同じルートを歩くことにした。AはXから一定の速度でYに向かい、BはAが出発してから2.5時間後にYを出発し、Aより毎時1.5KMだけ遅い速度でXに向かった。AとBが途中で出会ってから、Aは1.5時間後にYに到着し、Bは6時間後にXに到着した。XY間の距離を求めよ。

  • 数的処理の問題です

    この画像の数的処理の問題を教えてください。計算過程もお願いします<(_ _)>

  • 2(A-B)-3(B+2C)を計算せよ。

    A=3x^2+2xy-5y^2 B=x^2-3xy-4y^2 C=3y^2+4xy のとき 2(A-B)-3(B+2C)を計算せよ。 …という問題なんですが 以下の解き方は間違っていますよね? 答えをみると違うので、間違っているのは分かるんですが 何が間違っているか分かりません。 指摘・解説いただけますと助かります。 まず 2(A-B)を計算 2(3x^2+2xy-5y^2-x^2-3xy-4y^2) =6x^2+4xy-10y^2-2x^2-6xy-8y^2 =4x^2-18y^2-2xy 次に -3(B+2C)を計算 -3{(x^2-3xy-4y^2)+2(3y^2+4xy)} =-3(x^2-3xy-4y^2+6y^2+8xy) =-3x^2+9xy+12y^2-18y^2-24xy =-3x^2-6y^2-15xy 最後に合わせて 4x^2-18y^2-2xy-3x^2-6y^2-15xy =x^2-24y^2-17xy 答え x^2-24y^2-17xy よろしくお願いします。

  • C言語でファイルから読み込んだデータの処理

    こんにちは C言語についてかじった程度でほとんど初心者なので、どうぞよろしくお願いします。 テキストファイルからデータを読み込み、そのデータをもとに計算してその結果を違うファイルに出力する。 というプログラムを組みたいと思っています。 例えば、 1 2 3 4 5 … 400 401 …     440 : 1600 …    2000 というデータだとします。 4項目ごとのデータを(a,b,c,d)として、このデータを x=a+b y=a+c z=a+d といったように計算して、これを [x y z] [ …  :  … といったように出力したいんです。 この場合では [3 4 5] [11 12 13] … [  ]  : [ ]… [ ] となると思います。 ファイルの入出力だけならいろんなところで例題にもなっているので何とかなると思っていたのですが [ ] [ ] : といったように下につながるか [ ][ ][… といったようにすべて横につながってしまいます。 対応するように並べるにはどのようにすればいいのでしょうか。 うまく説明できず、非常にわかりにくい質問だとは思いますが、皆さんどうぞヒントだけでも与えてくれるとうれしいです。 よろしくお願いします。

  • 計算過程

    ☆x^2+7y^2+4xy+2x-8y+20=★(x+2y+1)^2+3(y-2)^2+7   ☆からどのように計算したら★になるのか計算過程を詳しく教えてください。

  • 畑中敦子の数的処理基本編の練習問題

    畑中敦子の数的処理基本編の序章(算数、数学の基本知識)の練習問題で分からない問題があります。 どうしても分からず、尋ねる友達もいないのでここに書き込みました。 解法を教えて下さい!! 問題 次の連立方程式を解きなさい。 (a) 2(7x-0.5y)=6.5-x (b) 2x+5y/3=10x-y/2 答え x=1/2 y=1 以下私の途中までの解法を記載します。 間違っていたら指摘して下さい! (a)2(7x-0.5y)=6.5-x 14x-y=6.5-x(かっこを解除) 140x+10x-10y=65(6.5を整数に直し、同類項で計算)  150x-10y=65 (b)2x+5y/3=10x-y/2  4x+10y=30x-3y(最小公倍数の6を両辺にかけて整数に直す)  4x-30x+10y+3y=??項がついた数字しかなく、(a)と同じ形式にならないため、加減法ができない??)  -26x+13y=0(同類項で計算し、右辺に0??) ここで行き詰まってしまいます。 ここまでの解き方が合っているかも自信がありません。 どうやってこの連立方程式を解けば答えになるのか、教えて下さい!

  • 式の計算

    式の計算についての問題 分からない問題があったので教えてください A=3x^2-2x+6. B=2x^2-3x+4 のとき次の式をxの式で表してください 1. 2A-B 2. (4A+B)-5(A-B) 次の式を計算してください 1. (4/3x^2y+2/3xy^2-6xy)÷(-2/3xy) 2. (x+y)(x^2-xy+y^2) 途中式も教えてくれたらうれしいです 宜しくお願いします .

  • 多項式の計算を教えてください

    多項式の計算を教えてください 2x(x+5y)-(x^3y+2x^2y^2)÷xy お願いします。

  • ブール代数の計算

    ブール代数の計算についてです。 (1)¬x+y (2)¬(¬x・y) (3)1-xy (4)¬x+xy (5)¬(x(¬x+y)) この5つのブール式のうち、同値である組み合わせを教えていただきたいです。 できれば(1)=(2)だったときに、途中計算で使用した公式などもおしえていただきたいです。 細かくてめんどうではありますが、他の計算問題などもとけるようになりたいのでよろしくお願いします。

  • 計算あってますか??

    (1)(2x+y)(3x-y) =6x^2+xy-y^2 (2)(4x-3y)(x+2y) =4x^2+5xy-6y^2 (3)(2x-y)(3x-4y) =6x^2-11xy+4y^2 あってますか??

専門家に質問してみよう