2012-03-08 4 views
2

ためのCで100桁数を++保存し、その後+-*、および/みたいに基本的な算術演算を実行します。私はいくつかの研究を行い、文字列を使ってこれを実行できることを発見しました。しかし、文字列に数値を格納すれば、どのように操作すればよいでしょうか?私は最大100桁の素数を計算するためのコードを記述しようとしています基本的な算術関数

+5

ヒント:子供はどのように学校で算術演算を行うのですか? 2つの数字を追加したい場合は、各数字から2桁を取り出して追加し、すべての数字の対でこれを繰り返します。このプロセスでは、2桁の合計のうち、10位の桁も処理します。 – Nawaz

+2

intの配列を使用して素朴な実装を行うことも、GMPのような既存のライブラリを使うこともできます。任意精度の算術を探します。 – madth3

+0

[Big Int Libs](https://www.google.com/search?q=C%2B%2B+BigInt&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox -a) –

答えて

0

少し難解ですが、一度にチャンクを処理する必要があります。つまり、あなたの文字列から数桁を読み、数として扱い、その部分的な算術演算を行います。あなたがこれを行うときに数字を引き継ぐことを覚えておく必要があります。

乗算と除算はさらに複雑ですが、同様のシステムを使用することは可能です。

+0

C++以外の言語は使用できません。部分的な空気がどういう意味ですか? – user1256356

1

パフォーマンスには最適ではありませんが、文字列として保持する場合は、紙のように行うことができます。

12345 
    *54 
_______ 
    49380 
+617250 
_______ 
666630 

これは考えられるのが最も簡単で、文字列タイプが許す限り拡張することができます。一時的な数値が必要ですが、結果は8ビットを超えることはありません。

関連する問題