我试图将数字2 ^ 1000中的每个数字相加,例如,25346 = 2 + 5 + 3 + 4 + 6 = 20中每个数字的总和。
我在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中有更简单,更快捷的方法吗?
答案 0 :(得分:1)
合并这两行,如文档中所示:
x=2^1000;
x=vpa(x,400);
到这个
x=vpa(2^1000,400);