Rayzven

gen подмножеств

Feb 12th, 2020
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.69 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. //--для возведения в степень
  4. #include <math.h>
  5.  
  6. int main()
  7. {
  8.     int M[4] = {2, 5, 6, 9}; //--множество
  9.     int w = 4; //--кол-во элементов множества
  10.  
  11.     int i, j, n;
  12.  
  13.     n = pow(2, w);
  14.     for ( i = 0; i < n; i++ ) //--перебор битовых маск
  15.     {
  16.         printf("{");
  17.         for ( j = 0; j < w; j++ ) //--перебор битов в маске
  18.             if ( i & (1 << j) ) //--если j-й бит установлен
  19.                printf("%d ", M[j]); //--то выводим j-й элемент множества
  20.         printf("}\n");
  21.     }
  22.     return 0;
  23. }
Add Comment
Please, Sign In to add comment