用matlab编程有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4.组成所有的排列后再去 掉不满足条件的排
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 22:02:39
![用matlab编程有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4.组成所有的排列后再去 掉不满足条件的排](/uploads/image/z/5173082-26-2.jpg?t=%E7%94%A8matlab%E7%BC%96%E7%A8%8B%E6%9C%891%E3%80%812%E3%80%813%E3%80%814%E4%B8%AA%E6%95%B0%E5%AD%97%2C%E8%83%BD%E7%BB%84%E6%88%90%E5%A4%9A%E5%B0%91%E4%B8%AA%E4%BA%92%E4%B8%8D%E7%9B%B8%E5%90%8C%E4%B8%94%E6%97%A0%E9%87%8D%E5%A4%8D%E6%95%B0%E5%AD%97%E7%9A%84%E4%B8%89%E4%BD%8D%E6%95%B0%3F%E9%83%BD%E6%98%AF%E5%A4%9A%E5%B0%91%3F1.%E7%A8%8B%E5%BA%8F%E5%88%86%E6%9E%90%EF%BC%9A%E5%8F%AF%E5%A1%AB%E5%9C%A8%E7%99%BE%E4%BD%8D%E3%80%81%E5%8D%81%E4%BD%8D%E3%80%81%E4%B8%AA%E4%BD%8D%E7%9A%84%E6%95%B0%E5%AD%97%E9%83%BD%E6%98%AF1%E3%80%812%E3%80%813%E3%80%814.%E7%BB%84%E6%88%90%E6%89%80%E6%9C%89%E7%9A%84%E6%8E%92%E5%88%97%E5%90%8E%E5%86%8D%E5%8E%BB+%E6%8E%89%E4%B8%8D%E6%BB%A1%E8%B6%B3%E6%9D%A1%E4%BB%B6%E7%9A%84%E6%8E%92)
用matlab编程有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4.组成所有的排列后再去 掉不满足条件的排
用matlab编程
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4.组成所有的排列后再去
掉不满足条件的排列
用matlab编程有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4.组成所有的排列后再去 掉不满足条件的排
function y=example
y=[];ty=[];
%%生成互不相同的组合
for i=1:4
for j=1:4
for k=1:4
temp=100*i+10*j+k;
ty=[ty;temp];
end
end
end
%%筛选出无重复数字的组合
for t=1:length(ty)
it=floor(ty(t)/100);%%求得百位数
jt=floor(mod(ty(t),100*it)/10);%%求得十位
kt=ty(t)-100*it-10*jt;%%求得个位
if it~=jt&&jt~=kt&&kt~=it %%如果没有重复数字,则添加到最后输出
y=[y;ty(t)];
end
end
end
上述是按照您的分析来写的,但是我觉得可以在组成排列的过程中同时筛选,程序如下:
function y=example
y=[];
%%生成互不相同的组合
for i=1:4
for j=1:4
for k=1:4
%%筛选出无重复数字的组合
if i~=j&&j~=k&&k~=i
temp=100*i+10*j+k;
y=[y;temp];
end
end
end
end
end
望采纳~