这个例子展示了如何使用大整数和小数表示使用符号数学工具箱™。
字符串被称为回文如果它向后读时是一样的。一个正整数称为回文如果其十进制表示法是一个回文。例如,191年、313年和5885年都是回文。
考虑下面的算法
开始任何正整数 并将它添加到它的镜像。
重复这个步骤与结果,直到你获得一个回文数。
例如,让N = 89;然后第一个3迭代给…
最后24迭代后你将到达回文8813200023188。
N =符号(89);为k = 0:100 s1 = char (N);s2 = fliplr (s1);如果比较字符串(s1, s2) disp ([在迭代中完成的num2str (k)])打破结束N = N +符号(s2);disp (N)结束
在迭代完成24
算法终止每吗 吗?
问题仍然是开放的,回文爱好者已经投资很多CPU年
情况使其名称的问题。为了玩这个问题在MATLAB™,象征性的整数是有用的,因为他们的规模是无限的。使用的函数信谊
符号整数转换字符串的小数位数,和字符
(不num2str
)将回来。
著名的调查
情况下产生的真正的巨大的数字。看到有多少小数位数整数,简单地使用log10
:
N =符号(196);为k = 0:1000 s1 = char (N);s2 = fliplr (s1);N = N +符号(s2);结束disp ([数字后的数量num2str (k)的迭代:char(装天花板(log10 (N)))));
号码1000次迭代后的数字:411