2017-02-09 13 views
1

25346 = 2 + 5 + 3 + 4 + 6 = 20の各桁の合計など、2〜1000の各桁を合計しようとしています。MATLABでvpaで大きな数値を扱う

私はこのように見ているのMatlabのコードを書いた:小さい番号について

clc, clear all, close all, 
x=2^1000; 
x=vpa(x,400); 
sum=0; 
while x>0 
    num=mod(x,10); 
    sum = sum+num; 
    x=floor(x/10); 
end 
sum % = 1349, correct answer should be 1366 

、このコードは動作します。私はvpaコマンドで何か怪しいものがあると思っていますが、私は何が分かりません。

誰もが考えている?これはmatlabでこれを行うより簡単で高速な方法はありますか?

答えて

1

それはマニュアルに示されているように、これらの2つの行をマージ:

x=2^1000; 
x=vpa(x,400); 

をこの

x=vpa(2^1000,400); 
+0

にこれは私に同じ結果が得られました。 – Phiger

+0

@Phiger vpa(sym(2)^ 1000)はどうですか? – BCartolo

+0

同じ結果が得られました。 – Phiger

関連する問題