从1到6的6个数字排列组合说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上.我为什么算出来是31292种.begins:
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 04:28:10
![从1到6的6个数字排列组合说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上.我为什么算出来是31292种.begins:](/uploads/image/z/1047629-29-9.jpg?t=%E4%BB%8E1%E5%88%B06%E7%9A%846%E4%B8%AA%E6%95%B0%E5%AD%97%E6%8E%92%E5%88%97%E7%BB%84%E5%90%88%E8%AF%B4%E6%98%8E%2C%E6%AF%8F%E7%BB%84%E6%95%B0%E5%AD%97%E5%BF%85%E9%A1%BB%E7%94%B16%E4%B8%AA%E6%95%B0%E7%BB%84%E6%88%90%2C1%E5%92%8C6%E4%B8%8D%E8%83%BD%E7%9B%B8%E9%82%BB%2C%E5%90%8C%E4%B8%80%E4%B8%AA%E6%95%B0%E5%AD%97%E5%87%BA%E7%8E%B0%E7%9A%84%E6%AC%A1%E6%95%B0%E6%9C%80%E5%A4%9A3%E6%AC%A1%2C%E6%AF%8F%E7%BB%84%E6%95%B0%E5%AD%97%E6%9C%80%E5%B0%91%E7%94%B13%E4%B8%AA%E6%95%B0%E7%BB%84%E6%88%90%2C%E5%90%8C%E4%B8%80%E4%B8%AA%E6%95%B0%E4%B8%8D%E8%83%BD%E8%BF%9E%E7%BB%AD%E5%87%BA%E7%8E%B02%E6%AC%A1%E4%BB%A5%E4%B8%8A.%E6%88%91%E4%B8%BA%E4%BB%80%E4%B9%88%E7%AE%97%E5%87%BA%E6%9D%A5%E6%98%AF31292%E7%A7%8D.begins%3A)
从1到6的6个数字排列组合说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上.我为什么算出来是31292种.begins:
从1到6的6个数字排列组合
说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上.
我为什么算出来是31292种.
begin
s:=0;m:=1;n:=6;
for a:=1 to 6 do
for b:=1 to 6 do
for c:=1 to 6 do
for d:=1 to 6 do
for e:=1 to 6 do
for f:=1 to 6 do
begin
w:=true;x:=true;y:=true;z:=true;
if (a=m)and(b=n)or(b=m) and (c=n)or(c=m) and(d=n)or(d=m) and (e=n)or(e=m) and (f=n)or
(a=n) and(b=m)or(b=n) and (c=m)or(c=n) and (d=m)or(d=n) and (e=m)or(e=n) and (f=m) then
w:=false; (若1和6相邻则w为false)
if ((a=b)and(b=c))or((b=c)and(c=d))or((c=d)and(d=e))or((d=e)and(e=f))then x:=false; (若
连续出现3个数字则x为false)
if ((c=d)and(d=e)and(e=f))or((b=d)and(d=e)and(e=f))or((b=c)and(c=e)and(e=f))or((b=c)and
(c=d)and(d=f))or((b=c)and(c=d)and(d=e))or
((a=d)and(d=e)and(e=f))or((a=c)and(c=e)and(e=f))or((a=c)and(c=e)and(e=f))or((a=c)and
(c=d)and(d=e))or
((a=b)and(b=e)and(e=f))or((a=b)and(b=d)and(d=f))or((a=b)and(b=d)and(d=e))or
((a=b)and(b=c)and(c=f))or((a=b)and(b=c)and(c=e))or
((a=b)and(b=c)and(c=d)) then y:=false; (若一个数字出现4次,则y为 y:=false)
if (((a=b)and(b=c))and((d=e)and(e=f))or((a=b)and(b=d))and((c=e)and(e=f))or((a=b)and(b=e))
and((d=c)and(c=f))or((a=b)and(b=f))and((d=e)and(e=c))or
((a=c)and(c=d))and((e=b)and(b=f))or((a=e)and(e=c))and((d=b)and(b=f))or((a=f)and(f=c))and
((d=e)and(e=b))or
((a=d)and(d=e))and((b=c)and(c=f))or((a=d)and(d=f))and((e=b)and(b=c))or
((a=e)and(e=f))and((d=b)and(b=c))) then z:=false;(由1个数组成的已被上一个条件语句排除;若
由2个数组成,且分别出现5次1次或4次2次,以被上一条件语句排除;若每组数字由2个数组成,且分别出现3次3次
则z为false)
if w and x and y and z then s:=s+1;
end;
write(s);
end.
程序开头的定义也给补上
program oneTOsix;
var
a,b,c,d,e,f,s,m,n:longint;
w,x,y,z:boolean;
据说正确答案是31160
不排除一个数的话,最多也就6^6=46656种,怎么报上个6位数来?
从1到6的6个数字排列组合说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上.我为什么算出来是31292种.begins:
我知道这题是什么意思.
为解决百度问题213225580.html、214193804.html:
你判断一个数字是否出现四次的判断语句中,有一个情况重复acef、一个情况缺少acdf.
下面的没细看.