题目:假如团队共有50人,其中会C语言的有36人,会Java语言的有44人,会Go语言的有32人,同时会这3种语言的至少有多少人? (有个每人至少会一种语言的条件有关更完善)
简单作答:不会C的14人,不会Java的6人,不会Go的18人。那么会3种的至少50-14-6-18=12。
详细解答:先画一个集合的图如下:
假设只会一种语言的人数为X(即白色部分),会两种语言的人数为Y(即蓝色部分),会三种语言的人数为a(即黄色部分)。不会C的14人,不会Java的6人,不会Go的18人,总和为38人。那么:
X+Y+a = 50 (1)
2X+Y=38 (2)
综合上面两式可以得到:X=a-12;Y=62-2a。我们知道X,Y一定要大于等于0,所以a最少为12,最大为31。
还可以简单点理解就是:要a最少,那么大家都至少会2种语言,也就是X=0;要a最大,那么大家就没有会2种语言的,也就是Y=0。