此for循环怎么转化为while循环

for a=1:9
for b=0:9
for c=0:9
d=a10^3+b10^2+c10+a;
if d==(5
c+1)^2
disp(d)
end
end
end
end

你好同学,你的b和c的初值应该放在对应的循环里面:

a=1;
while a<10
    b=0;% b=0放里面
    while b<10
        c=0; % c=0放里面
        while c<10
            d=a*10^3+b*10^2+c*10+a;
            if d==(5*c+1)^2
                disp(d)% s改成d
            end
            c=c+1;
        end
        b=b+1;
    end
    a=a+1;
end

然后结果就对了: 1681
有帮助望采纳,(●'◡'●)

为什么写成下面这样不行呢?
a=1;
b=0;
c=0;
while a<10
while b<10
while c<10
d=a10^3+b10^2+c10+a;
if d==(5
c+1)^2
disp(s)
end
c=c+1;
end
b=b+1;
end
a=a+1;
end