【程序1】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
掉不满足条件的排列。
2.程序源代码:
main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++) /*以下为三重循环*/
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/
printf("%d,%d,%d\n",i,j,k);
}
}
这道c的题用ruby怎么实现呢
谢谢
最新回复
CODE:
#! /usr/bin/ruby
numbers = [1,2,3,4]
all_candidates = []
numbers.each{|hundred|
temp_1 = numbers.dup
temp_1.delete(hundred)
temp_1.each{|ten|
temp_2 = temp_1.dup
temp_2.delete(ten)
temp_2.each{|one| all_candidates << (hundred.to_s + ten.to_s + one.to_s).to_i}
}
}
all_candidates = all_candidates.uniq.sort
puts all_candidates.join("\t")
如果有好的方法,请楼主指教。
CODE:
for a in 1..4for b in 1..4
for c in 1..4
if (a!=b)&(b!=c)&(a!=c)
puts a.to_s+b.to_s+c.to_s
end
end
end
end