重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

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

A 回答 (4件)

こんにちは。



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

では。
    • good
    • 0

参考URL: 7000C3500 を計算。



参考URL:http://www.wolframalpha.com/input/?i=binomial+co …
    • good
    • 0

整数だけの計算なら


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回の割り算です。
    • good
    • 0

1000桁と言うと特殊な処理になりますので、こちらなんかどうでしょう。


「UBASIC」
UBASIC は 2700桁までの大きな整数の計算に適した BASIC 風の文法を持ったプログラミング言語です。
http://xaiax.at.infoseek.co.jp/Geo/UB_HELP/ub_in …

速度最優先と考えるならC言語で多倍長ライブラリを使うのが良いかと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!