前些时候做了一部分题目,感觉收获颇丰。
其中有一个题目是计算1-20000的回文数,
代码如下:
function Palindromes_several
%11.回文数就是数字的平方从左到右和从右到左读完全一样
clc;clear all;
p=0;
for x=1:200000
n=x^2;
if fix(n/10000)>=1
j=5;
elseif fix(n/1000)>=1
j=4;
elseif fix(n/100)>=1
j=3;
elseif fix(n/10)>=1
j=2;
elseif n>=1
j=1;
end
bases=0;
for i=j:-1:1
base=10^(i-1);
bases=cat(2,bases,base);
end
bases(:,1)=[];
var=bases;
if fix(n/10000)>=1
a(1)=fix(n/var(1));
a(2)=fix((n-a(1)*var(1))/var(2));
a(3)=fix((n-a(1)*var(1)-a(2)*var(2))/var(3));
a(4)=fix((n-a(1)*var(1)-a(2)*var(2)-a(3)*var(3))/var(4));
a