AND in while loop

5 次查看(过去 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 中查找有关 Loops and Conditional Statements 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by