второй вариант:
язык - C++
Пример работы:
abcd
0: {}
1: {a}
2: {b}
3: {a, b}
4: {c}
5: {a, c}
6: {b, c}
7: {a, b, c}
8: {d}
9: {a, d}
10: {b, d}
11: {a, b, d}
12: {c, d}
13: {a, c, d}
14: {b, c, d}
15: {a, b, c, d}
язык - C++
#include "stdio.h" #include "string.h" void main() { char s[32 + 1]; scanf("%s", &s); int n = strlen(s); for(int i = 0; i < 2 << (n - 1); i++) { printf("\n%i: {", i); for(int j = 0; j < n; j++) { int mask = 1 << j; if(mask & i) { printf("%c", s[j]); int commaMask = 0xFFFFFFFF << (j + 1); if((commaMask & i) != 0) printf(", "); } } printf("}"); } }
Пример работы:
abcd
0: {}
1: {a}
2: {b}
3: {a, b}
4: {c}
5: {a, c}
6: {b, c}
7: {a, b, c}
8: {d}
9: {a, d}
10: {b, d}
11: {a, b, d}
12: {c, d}
13: {a, c, d}
14: {b, c, d}
15: {a, b, c, d}
Комментариев нет:
Отправить комментарий