①选离散数学的有50人,选数据库原理的有54人,同时选这两门的有21人
所以选这两门的一共有50+54-21=83人
②一共100名学生,每个学生至少选其中一门
所以只选计算理论基础的学生有100-83=17人
③同时选离散+计算的学生有20人,同时选数据库+计算的学生有10人,同时选三门的学生有7人
所以选了计算理论基础,并且还选了至少一门的学生有20+10-7=23人
由②③可得选修计算理论基础的一共有23+17=40人
④选离散的一共50人,选离散+数据库的学生有21人,选离散+计算理论的学生有20人,同时选三门的学生有7人
所以只选离散的有50-(21+20-7)=16人
⑤选数据库的一共54人,选数据库+离散的学生有21人,选数据库+计算理论的学生有10人,三门都选的有7人
所以只选数据库的有54-(21+10-7)=30人
所以选这两门的一共有50+54-21=83人
②一共100名学生,每个学生至少选其中一门
所以只选计算理论基础的学生有100-83=17人
③同时选离散+计算的学生有20人,同时选数据库+计算的学生有10人,同时选三门的学生有7人
所以选了计算理论基础,并且还选了至少一门的学生有20+10-7=23人
由②③可得选修计算理论基础的一共有23+17=40人
④选离散的一共50人,选离散+数据库的学生有21人,选离散+计算理论的学生有20人,同时选三门的学生有7人
所以只选离散的有50-(21+20-7)=16人
⑤选数据库的一共54人,选数据库+离散的学生有21人,选数据库+计算理论的学生有10人,三门都选的有7人
所以只选数据库的有54-(21+10-7)=30人