12345678910111213141516171819202122232425 |
- #include<stdio.h>
- void find_partitions(int n, int start, int* path, int len) {
- int i;
- if (n == 0) {
- printf("7=");
- for (i = 0; i < len - 1; i++) {
- printf("%d+", path[i]);
- }
- printf("%d\n", path[len - 1]);
- return;
- }
- for (i = start; i <= n; i++) {
- path[len] = i;
- find_partitions(n - i, i, path, len + 1);
- }
- }
- int main() {
- int n;
- scanf("%d", &n);
- int path[30];
- find_partitions(n, 1, path, 0);
- return 0;
- }
|