• ベストアンサー

計算の便利なプログラム言語

エクセルだと1000桁の計算を表示させる事ができません そこでプログラムでエクセルみたいに計算させれば 計算できるかもしれないと思ったのですが これはこれで無理なんですかね。。 たとえば 7000C0から7000C7000までを(C=コンビネーション) 自動で計算させるのに最適な方法はなんなのでしょうか。 エクセルだと7000C200辺りで#NUM!で計算できなく なってしまいます。 今やろうとしていることは、計算の桁も1000桁以上になり、 計算回数は1億くらいになってしまいます これを行うために、計算に強いプログラム言語はあるのでしょうか。

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

  • ベストアンサー
  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.1

こんにちは。  数値計算に特化したプログラムとしては、マセマティカが有名だと思います。   http://ja.wikipedia.org/wiki/Mathematica   ただ、コンビネーションの計算が可能か、最大何桁まで可能かは知りません。 では。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.4

参考URL: 7000C3500 を計算。

参考URL:
http://www.wolframalpha.com/input/?i=binomial+coefficient+7000+3500
すると、全ての回答が全文表示されます。
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

整数だけの計算なら Pythonの長整数型(2.Xまで)/整数型(3.0から) rubyの整数 はメモリが許す限り無限の桁をとります。 > たとえば 7000C0から7000C7000までを(C=コンビネーション) > 自動で計算させるのに最適な方法はなんなのでしょうか。 これだけの話しなら ・nCr=nC(n-r)を利用すれば求める数は半分 ・nCr * (n-r)/(r+1) = nC(r+1) 以上を利用すればnCnからnC0まで求めるのに必要な計算量はn/2回のかけ算とn/2回の割り算です。

すると、全ての回答が全文表示されます。
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

1000桁と言うと特殊な処理になりますので、こちらなんかどうでしょう。 「UBASIC」 UBASIC は 2700桁までの大きな整数の計算に適した BASIC 風の文法を持ったプログラミング言語です。 http://xaiax.at.infoseek.co.jp/Geo/UB_HELP/ub_index.html 速度最優先と考えるならC言語で多倍長ライブラリを使うのが良いかと思います。

すると、全ての回答が全文表示されます。

関連するQ&A