设集合A={a1,a2,a3,am},B={b1,b2,bn},求C=A○B=〔A-B〕∪〔B-A〕=〔A∪B〕-〔A∩

1个回答

  • 画图可知 6)中函数所求的集合为 3个互相相交的圆的不相交部分的并.

    简证:设这三个圆为ABC 先求AoB 将其涂上阴影,然后将阴影部分整体作为X 做XoC 可得

    AoBoC = 三个圆不相交部分的并集.

    因此 所求即为由容斥原理: AUBUC-(A∩B+A∩C+B∩C)+A∩B∩C

    题目中所述的"函数内部分别调用上述 求并 求交函数",意思就是这些个函数已经是有的了.那么

    void symmetric_diffrence(int *A, int *B, int *C, int a, int b, int c) {

    int * result; // 结果的指针 int size = 0; // 结果大小

    result = GetSum(int *A, int *B, int *C, int a, int b, int c , int size) - GetReduce(int *A, int *B, int a, int b, int size) - GetReduce(int *A, int *C, int a, int c, int size) - GetReduce(int *B, int *C, int b, int c, int size) +GetReduce(int *A, int *B, int *C, int a, int b, int c, int size)

    // print ---result size---- 输出对称差运算的结果

    return;

    }

    其中 GetReduce是求交集运算 GetSum是求并集运算,此处需要重载GetReduce函数(如果你用的是C++或java) 以满足对不同入参的匹配.

    以上.