1至9的全排列中,至少有一个奇数在其自然位置上的排列有多少个
本题是组合数学中的错排问题的一个变形,可以采用容斥原理来解决.
1、
1~9的全排列中,奇数k排在第k位的排列方式一共有(9-1)!=8!种
1~9中一共有1、3、5、7、9这5个奇数,所以如果不考虑重复的话,一共有C(5,1)*(9-1)=5*8!种排列是至少有一个奇数在其自然位置上.
2、
但是上面的计算中显然重复的包含了有2、3、4、5个奇数同时在其自然位置上的排列.
所以根据容斥原理应该把这部分重复计算的值排除在外.
C(5,1)*(9-1)! -C(5,2)*(9-2)!+C(5,3)*(9-3)!-C(5,4)*(9-4)!+C(5,5)*(9-5)!
=C(5,1)*8! -C(5,2)*7!+C(5,3)*6!-C(5,4)*5!+C(5,5)*4!
= 5*8!-10*7!+10*6!-5*5!+4!
=157824
3、
我写了一个C程序来验证,如下
#include#define N 9
int Mark[N] = {0};
int Stack[N];
int count = 0;
void print()
{
\x09int i;
\x09for(i=0;i
\x09printf("\n");
}
void judge()
{
\x09int i;
\x09for(i=0;i
\x09\x09if(Stack[i]==i+1)
\x09\x09{
\x09\x09\x09count++;
\x09\x09\x09return;
\x09\x09}
\x09}
}
void rank(int m,int n)
{
\x09int i;
\x09if(n==0)
\x09{
\x09\x09judge();
\x09\x09return;
\x09}
\x09for(i=0;i
\x09\x09{
\x09\x09\x09Mark[i]=1;
\x09\x09\x09Stack[m]=i+1;
\x09\x09\x09rank(m+1,n-1);
\x09\x09\x09Mark[i]=0;
\x09\x09}
}
void main()
{
\x09rank(0,N);
\x09printf("count=%d\n",count);
}
结果表明数学计算是正确的.
有一包糖,剩下的和吃的的比是13:7,剩下有65克,共有多少克?会写答案是100克,多种方法!能列 2020-04-09 …
两条数学题》》》第一列第二列第三列第四列第一行:14510第二行:481012第三行:912151 2020-06-02 …
《中华人民共和国刑法》第二百零一条规定:“纳税人采取伪造、变造、隐匿、擅自销毁帐簿、记帐凭证、在帐 2020-06-13 …
自然数按一定的规律排列如下第1列第2列第3列第4列第5列…第1行1491625…第2行238152 2020-07-25 …
找规律自然数按一定规律排列如下:第1列第2列第3列第4列第5列.第1行1491625.第2行238 2020-07-25 …
下列各句中加点词语使用正确的是A.那位获奖者表示,他只是在做着自己的本职工作,对于这份意料之外的不虞 2020-11-10 …
有人数89到115之间做操,如果排成3列不多也不少;如果排成5列则少2;有人数89到115之间做操, 2020-11-15 …
人来人往,有1000个人排成一列,自1往下报数,报奇数的人,走出队列,留下的人按原顺序新报数,报奇数 2020-11-17 …
下列自然景观的叙述中,属于西北地区的是[]A.雪山连绵,冰川广布B.降水稀少,沙漠众多C.河网密布, 2020-12-08 …
选用下列至少两个词语写一段连贯的话,至少使用一种修辞方法,80字以内.濒临栖息选用下列至少两个词语写 2021-01-19 …