关于MATLAB的一个程序算法问题

img

题目中等式右边应为 (5*c+1)^2,否则无解。
For循环求解程序:


for ii = 1000:9999
    n = num2str(ii);
    m = [n(1:3) n(1)];
    if str2num(m) == (5*str2num(n(3))+1)^2
        N = ii;
        break;
    end
end

While循环

ii = 1000;
n = num2str(ii);
m = [n(1:3) n(1)];
while str2num(m) ~= (5*str2num(n(3))+1)^2
    ii = ii+1;
    n = num2str(ii);
    m = [n(1:3) n(1)];
end
N = ii

结果:

N =

        1680