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

这样的六位数的个数是多少?还有看清楚了,题目是1和2不相邻,本题答案是32,求过程... 这样的六位数的个数是多少?

还有看清楚了,题目是1和2不相邻,本题答案是32,求过程
展开
数学趣味益智题
2012-04-21 · TA获得超过207个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:133万
展开全部

数学方法:

当 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;

运行结果为:

桑菜鸟
2012-05-08 · TA获得超过179个赞
知道答主
回答量:40
采纳率:0%
帮助的人:12.7万
展开全部
分三步排列第一步:3 5 排有c22种排法
第二部4 6 插空排2*A22种
第三步:把1 2 放到3 5 4 6 中有c52*a22种
共有32种
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
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个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式