求教用MATLAB求[100,200]内能所有被21整除的数

2024-11-28 12:45:06
推荐回答(3个)
回答(1):

clc;
a=floor(100/21);
b=floor(200/21);
c=[];
for i=a:b
a=i*21;

if 100<=a&&a<=200
c=[c a];
end
end
c %求所有
c(1) %求第一个
若求所有能整除,结果:
c =

105 126 147 168 189
若求第一个能整除,结果:
105

程序中考虑到matlab不擅长于循环,因此故意减少了循环数,用21的倍数来判断,最后能完成的事是一样的

回答(2):

t = 100:200;
t(mod(t, 21) == 0)

回答(3):

用数组c存储找数
j=1;

for i=100:999
if i%21==0
c(j)=i;
j=j+1;
end
end
c