AND in while loop

16 次查看(过去 30 天)
Muhammad Althaafa Sukmaputra
编辑: Jonas 2021-8-5
why does this code stops at a=1 or b=1? i expect it to stop at a=1 and b=1
a=input('');
b=input('');
x=2;
c=1;
while (a~=1 && b~=1)
while (mod(a,x)==0) || (mod(b,x)==0)
c=c*x;
if (mod(a,x)==0)&&(mod(b,x)==0)
a=a/x;
b=b/x;
elseif mod(a,x)==0
a=a/x;
elseif mod(b,x)==0
b=b/x;
end
end
x=x+1;
end
disp(c)

回答(1 个)

Jonas
Jonas 2021-8-5
编辑:Jonas 2021-8-5

it should run if

   ~(a==1 && b==1)

which would equal

a~=1 || b~=1

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

产品


版本

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by