A,B,C三个老师各教什么课(离散数学) c语言
首先我们把问题数学化用x1…x6,6个符号表示6门课程,这6门课程只有三种状态,或A,或B,或C!我们把A,B,C看成三个逻辑量 0,1 2.所以6们课无疑就只有三种可能或0,或1,或2!并且它们的状态是相关联的!所以我们就使用for循环,所有可能的情况都可以被计算机得出,当我们再加上题目所给的限制条件时!剩下的可能性仍然不唯一,但是我们发掘出了一个隐含条件:每个老师教两门课,数学化以后就等价于 0 + 0 + 1 +1 +2 +2=6,即 x1+…+x6=6! 这样问题就得到了解决
程序如下:
#include <stdio.h>
int main(){
int x1,x2,x3,x4,x5,x6;
for(x1=0;x1<3;x1++){
for(x2=0;x2<3;x2++){
for(x3=0;x3<3;x3++){
for(x4=0;x4<3;x4++){
for(x5=0;x5<3;x5++){
for(x6=0;x6<3;x6++){
if((x2!=x3) + (x4!=x1) + (x4!=0) + (x2!=0) + (x4!=x2) +
(x5!=1) + (x1!=1) + (x5!=x1