摘要: 这两天在http://projecteuler.net/problem=16看到这样一个问题。本来这个利用MATLAB的符号计算是相当easy,一句话即可搞定:sum(char(sym('2^1000'))-'0') 结果是1366。但如果不用符号计算的话就需要些技巧了。注意到大数可以用10的n次幂的多项式来表示,因此大数相乘对应的就是多项式乘积,也就是卷积。因此可以得到下面MATLAB代码:a = num2str(2^50)-'0';for k = 1:2a = BigInteM(a,a);endb = a;for k = 1:2b = Big 阅读全文
posted @ 2012-02-11 14:04 rocwoods 阅读(320) 评论(0) 推荐(0) 编辑