• ベストアンサー
  • 困ってます

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

  • 質問No.5646276
  • 閲覧数638
  • ありがとう数4
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 10% (18/171)

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

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

  • 回答No.1
  • ベストアンサー

ベストアンサー率 34% (1124/3287)

こんにちは。

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

では。

その他の回答 (全3件)

  • 回答No.3

ベストアンサー率 55% (1857/3366)

整数だけの計算なら
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回の割り算です。
  • 回答No.2

ベストアンサー率 56% (730/1282)

1000桁と言うと特殊な処理になりますので、こちらなんかどうでしょう。
「UBASIC」
UBASIC は 2700桁までの大きな整数の計算に適した BASIC 風の文法を持ったプログラミング言語です。
http://xaiax.at.infoseek.co.jp/Geo/UB_HELP/ub_index.html

速度最優先と考えるならC言語で多倍長ライブラリを使うのが良いかと思います。
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

ピックアップ

ページ先頭へ