将P种不同的语言记为M={M1,M2,M3,...MP}则M的子集有2^P个每个科学家所掌握的语言是M的一个子集因为没有任何两位科学家使用的语言完全相同所以子集两两不等又由于任何两个科学家都至少使用一种共同的语言则任何两个子集都不是互补子集所以这K个语言子集不能超过M的子集数2^P的一半即k大于或等于2^p-1他们有共同的语言.故最多允许1个人掌握一种语言.2种语言的人:因为1种必须和第一个人相同,故留下1种语言的选择空间,即最多有p-1个人.3种语言的人:因为1种必须和第一个人相同,故只能任意选择2个语言,最多可以有人(p-1)(p-2).4种语言的人:因为1种必须和第一个人相同,故只能任意选择3个语言,最多可以有人(p-1)(p-2)(p-3)……掌握p-1种语言的人:因为1种必须和第一个人相同,但他们只能有一种语言不会学,而且不能是第一个人所掌握的语言,故最多只允许有p-1个人掌握p种语言的人:最多只有1个人.故人数k必须小于等于最多允许的以上的人数1p-1(p-1)(p-2)(p-1)(p-2)(p-3)当p为偶数时,最中间的两个项为(p-1)(p-2)(p-3)…(p-1/2*p)=(p-1)(p-2)(p-3)…1/2*p当p为奇数时,最中间的项为(p-1)(p-2)(p-3)…(p-1/2*p)=(p-1)(p-2)(p-3)…1/2*(p+1)(p-1)(p-2)(p-3)(p-1)(p-2)p-11估计这几项相加就是2^(p-1)吧!所以k≤2^(p-1)