从1到6的6个数字排列组合说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上.我为什么算出来是31292种.begins:
从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.
下面的没细看.