关于子集数证明的一个延拓

计数原理:

完成一件事,有n类办法,在第1类办法中有m1种不同的方法,在第2类办法中有m2种不同的方法,在第n类办法中有mn种不同的方法,那么,完成这件事共有:N=m1+m2+...+mn种不同的方法.

这个原理,看起来比较的复杂,我尝试通过逻辑符号,来重新定义这个原理,但是未成功,诸君可以去研究下,好了,开始切入正题.

计数原理又称加法原理,它不仅是推导排列数、组合数计算公式的依据,而且是最基本的思想方法.

我们通过计数原理来证明二项式定理,如下:

(a+b)^n=(a+b).(a+b).(a+b)

把所有的括号都展开,比如(1+x)^n,写成n个(1+x)相乘,如果x次数是k,那么就是从n个括号里面选择k个取x,其它取1,总共有C(n,k)种选法,所以系数是C(n,k).

证明:

把这n个式用多项式乘法展开,然后再合并同类项即可.

含0个b,是从n个式子中找0个式子取b,其他都取a,结果是(C(n,0))a^n
(注:C(n,0)指从n个元素中取出0个元素的组合数)
含1个b,是从n个式子中找1个式子取b,其他都取a,结果是(C(n,1))a^n-1.b^1
含2个b,是从n个式子中找2个式子取b,其他都取a,结果是(C(n,2))a^n-2.b^2
...
含1个b,是从n个式子中找一个式子取b,其他都取a,结果是(C(n,n))b^n

n项作和,即为二项式的展开式.

原命题得证.

我们又通过已证二项式定理来证明集合A中,|P(A)|=2^n,如下:

|P(A)|=2^n,概念陈述如下:

一个集合里有n个元素,则它所有子集的数目是2^n,所有真子集数目2^(n-1)(子集除去本身),所有非空子集数目是2^(n-1)(子集除去空集),所有非空真子集数目2^(n-2)(子集除去本身和空集).

对于这n个元素随便排个序

第1个元素在或不在子集里,有2种选择
第2个元素在或不在子集里,有2种选择
...
第n个元素也是有在或不在,有2种选择

而每个元素的选择都是独立的

所以,共有2.2....2=2^n种组合
所以,子集有2^n个

证明:

设,集合A中有n个元素,那么:

子集有0个元素时,有C(n,0)个子集
子集有1个元素时,有C(n,1)个子集
子集有2个元素时,有C(n,2)个子集
子集有3个元素时,有C(n,3)个子集
...
子集有n个元素时,有C(n,n)个子集

C(n,0)+C(n,1)+C(n,2)+C(n,3)+...+C(n,n)=2^n.

即,|P(A)|=2^n得证.

时间: 2024-07-31 00:27:38

关于子集数证明的一个延拓的相关文章

关于欧拉公式证明的一个延拓

现在,我们通过几种不同的方法来阐述下欧拉公式的证明思想,即证明,e^πi + 1=0. 首先指数函数是定义在实数域上的,现在要延拓到复数域上,首先要定义e^i, e^ix是什么,严格地说,这是一种定义,而且,这个定义是合理的. e^ix=cosx+isinx,e是自然对数的底,i是虚数单位,他将三角函数的定义域扩大到复数,建立了三角函数和指数函数的关系,它在复变函数论里占有非常重要的地位. 证法1: 泰勒中值定理: 若函数f(x)在开区间(a,b)有直到n+1阶的导数,则当函数在此区间内时,可以

关于考拉兹猜想的一个延拓

考拉兹猜想,又称为3n+1猜想.角谷猜想.哈塞猜想.乌拉姆猜想或叙拉古猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1.考拉兹猜想,亦可以叫"奇偶归一猜想". 在1930年,德国汉堡大学的学生考拉兹,曾经研究过这个猜想,因而得名. 在1960年,日本人角谷静夫也研究过这个猜想,但这猜想到目前,仍没有任何进展. 保罗·艾狄胥就曾称,数学上尚未为此类问题提供答案,他并称会替找出答案的人奖赏500元. 考拉兹猜想,验证 例如,

求解大于某数的下一个素数

求解大于某数的下一个素数问题,常见于求某一范围内的所有素数,第k个素数问题中,由于素数一定是奇数,而两个相邻奇数之间一定相差2,所以只要在奇数中查找即可:代码如下 int NextPrime (int N) { if (N % 2 == 0) ++N; int i; bool NotPrime = false; for (; ; N += 2){ NotPrime = true; for (i = 3; i*i <= N; i+=2) if (N % i == 0) { NotPrime = t

C语言 猜数游戏--产生一个随机数

#include <stdio.h> #include <time.h> #include <stdlib.h> int main(int argc, const char * argv[]) { // insert code here... printf("Hello, World!\n"); int a,b,i; { srand((unsigned int)time(0)); b = rand()%100 + 1; // printf("

spring boot 参数传递(spring boot 参数传数 arg0 每一个参数 arg0#{arg0},arg1 #{arg1})

spring boot 参数传数 arg0 每一个参数 arg0#{arg0},arg1  #{arg1} @Select("select * from sys_user where name=#{arg0} and pass=#{arg1}") public List<Map<String,Object>> getAllUser(String username,String password); 大于三个参数据,用传递对象 /** * Spring 启动 *

关于素数定理的一个延拓

一直以来,我们总是在孜孜不倦地寻找素数的规律,但是,很难成功,我们可以把素数看作人类思想无法渗透的秘密. 公元前3世纪,古希腊哲学家Eratosthenes提出了一个叫"过筛"的方法,做出了世界上第一张素数表,即按照素数的大小排列成表,把自然数按其大小一一写上去,然后,按照下列法则把合数去掉: 把1去除,首先把2留下,然后,把2的倍数去除把3留下,然后,把3的倍数去除把5留下,然后,把5的倍数去除 同理,继续下去,直到把所有数要么留下,要么去除,这样,若纸上最大的数是N,则上述法则可以

输入10个数,将其中最小的数与第一个对换,最大的数与最后一个对换

输入10个整数,将其中最小的数与第一个数对换,将最大的数与最后一个数对换. 写三个函数:1.输入10个整数 2.进行处理 3.输出10个数 #include "stdafx.h" #include<iostream> using namespace std; int array[10],*p; //第一个函数,输入数字 void shuru(int *p) { cout<<"请输入十个整数:"<<endl; for(int i=0

数A去掉一个数字后得到B,给出A与B的和N求所有可能的数A

废话不多说  源代码中有注释 /* File : ABN.c Date : 2015/4/4 version : 1.0 platform : windows 7 x86_64 Function : A + B = N 1 <= N <= 10^9 B 是A去掉一个数字后得到 例如 A + B = 34 A可以是27或31 特例: 12 = 11 + 1 会执行两次 11 十位个位一样,去掉十位和个位一样. 故可以用一个数组保存结果最后输出. */ #include <stdio.h&g

JS显示指定字符数,避免一个中文两个字符的情况

0x00 level: 0x01 0x01 代码如下: <html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <body> <script type="text/javascript"> var txt = "Aa要a国a啊b不a"; document.write("&l