AND in while loop

18 visualizzazioni (ultimi 30 giorni)
Muhammad Althaafa Sukmaputra
Modificato: Jonas il 5 Ago 2021
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)

Risposte (1)

Jonas
Jonas il 5 Ago 2021
Modificato: Jonas il 5 Ago 2021

it should run if

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

which would equal

a~=1 || b~=1

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Prodotti


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by