用1,2,3,4,5,6组成六位数(没有重复数字),要求任何相邻的两个数字的奇偶性不同,且1和2不相邻

这样的六位数的个数是多少?

还有看清楚了,题目是1和2不相邻,本题答案是32,求过程

数学方法:

当 1 åœ¨ ä¸¤ç«¯æ—¶ , 2 å¯æ”¾ 2个位置 , 35全排列 , 46全排列 ;

故 æœ‰ 2 * 2 * 2! * 2! = 16 ç§;

当 1 åœ¨ ä¸­é—´æ—¶ , 2 å¯æ”¾ 1个位置 , 35全排列 , 46全排列 ;

故 æœ‰ 4 * 1 * 2! * 2! = 16 ç§;

总情况为 16 + 16 = 32 ç§.

C++程序为:

#include <iostream>

using namespace std;

void Exch2Data(char& item1,char& item2)

{

char tmp = item1;

item1 = item2;

item2 = tmp;

}

void Permutation(char* str,int l,int r)

{

if(l==r)

{

int t = 0;

for (int i = 0; i < r ; i++)

{

if ((str[i + 1] - str[i]) % 2 == 0 || (str[i + 1] + str[i]) == ('1' + '2'))

{

t = 1;

break;

}

}

if ( t == 0)

{

for (int i = 0; i <= r ; i++)

{

cout << str[i];

}

cout << "\t";

}

}

else

{

for(int i=l;i<=r;++i)

{

Exch2Data(str[l],str[i]);

Permutation(str,l+1,r);

Exch2Data(str[i],str[l]);

}

}

}

int main()

{

char str[]="123456";  

Permutation(str,0,5);  

cout << endl;

运行结果为:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-08
分三步排列第一步:3 5 排有c22种排法
第二部4 6 插空排2*A22种
第三步:把1 2 放到3 5 4 6 中有c52*a22种
共有32种
第2个回答  2013-11-07
如果是奇偶奇偶奇偶
12相邻
如果是12奇偶奇偶
则就是35和46分别全排列
有A22*A22=4个
如果是奇21偶奇偶
也是35和46分别全排列
则1和2还可以在第34,45,56位
所以又5×4=20个

如果是偶奇偶奇偶奇
也是20个
所以是20×2=40个
相似回答