消費税込の値段から、消費税抜きの値段を求めたい場合、消費税込の値段が100円であった場合、100 = n * 1.05の解を求めれば良い訳ですが、


これをCで書くと、こんな感じ、
float tax(int total) {
  return (float)total/1.05;
}
int main()
{
  float original = tax(100);
  printf("%f\n", original);
}

Lispだとこんな感じ
(defun tax (x)
 (/ x 1.05))
(tax 100)

Rubyでもこんな感じ
def tax(n)
 n/1.05
end
p tax(100)

で、直感的に100 = n * 1.05のnの解を求めてくれるような数式は作れていなくて、一度数式を再構築してあげないと解を求められないかと思うのですが、

これをプログラムを利用して、100 = n * 1.05と書いた場合、nが簡単に求められるようなプログラムを書くことは可能でしょうか?
言語は問いません。

回答の条件
  • 1人2回まで
  • 登録:2007/05/20 14:44:37
  • 終了:2007/05/27 14:45:03

回答(4件)

id:garyo No.1

garyo回答回数1782ベストアンサー獲得回数962007/05/20 15:19:05

ポイント27pt

代数的に計算する(式を解く)のであればMathematicaを利用すれば良いでしょう。

http://cobalt.chem.es.osaka-u.ac.jp/miyasaka/joho/041012.html

式を解かずに値が知りたいのであれば

ニュートン法なりの近似計算をプログラムでかけば良いでしょう。

http://ja.wikipedia.org/wiki/%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%8...

ようはnの値を少しずつ変えて行き、式を満たすnを探すわけです。

id:tomoyuki28jp

早速のご解答どうもありがとうございます。

正にこういうことを求めていました。

新たなシステムを導入する必要がありるのですね。。普段利用しているプログラム言語で解決する方法があれば、と思っていたのですが。

大変参考になりました。

どうもありがとうございす!

2007/05/20 15:46:41
id:pyopyopyo No.2

pyopyopyo回答回数337ベストアンサー獲得回数792007/05/20 15:30:03

ポイント27pt

可能です. maxima や Mathematica を使うと簡単に書けます.

例えば maxima であれば,方程式 100=x*1.05 を x について解く場合は

solve([100=x*1.05], [x]);

と記述します.

maxima は,他にも,連立方程式,微分積分などいろいろな事が出来ます.詳細が以下のURLに良くまとまっているので, よろしかったら参考にしてください.

http://phe.phyas.aichi-edu.ac.jp/~cyamauch/maxima/

id:tomoyuki28jp

解答ありがとうございます!

サンプルコードまでつけて頂いて、大変参考になりました。

このシステムって、プログラム言語から呼び出すことはできたりしませんでしょうか?

今後とも宜しくお願いします。

2007/05/20 15:47:50
id:m-nisi No.3

m-nisi回答回数159ベストアンサー獲得回数32007/05/21 02:04:00

ポイント26pt

MATLABでも同様の事ができます

(SymbolicMathToolboxが入っていれば)

a = solve('100=n*1.05')

またPerlやRubyなどから呼び出して実行する事も可能です

(起動のための時間はかかりますが)

id:tomoyuki28jp

RubyからMathematicaを呼び出せることを確認とれました。(パッケージがちょっと古そうなのが気になりましたが。。)

貴重な情報どうもありがとうございました!

2007/05/21 03:12:55
id:nineapple No.4

nineapple回答回数7ベストアンサー獲得回数02007/05/27 13:37:31

ポイント10pt

私はMathematicaをお勧めします。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません