Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<fstream>
- using namespace std;
- ifstream in ("partitiinumar1.in");
- ofstream out ("partitiinumar1.out");
- int n, st[50], s;
- void afisare (int k)
- {
- for (int i = 1; i <= k; i ++)
- out << st[i] <<" ";
- out << "\n";
- }
- int verif (int k)
- {
- s = 0;
- if (st[k] < st[k - 1])
- return 0;
- if (st[k]==st[k-1])
- return 0;
- for (int i = 1; i <= k; i ++)
- s = s + st[i];
- if(s > n)
- return 0;
- return 1;
- }
- void back (int k)
- {
- if(s == n)
- afisare(k - 1);
- for (int i = 1; i <= n - k + 1; i ++)
- {
- st [k] = i;
- if (verif (k))
- back(k + 1);
- }
- }
- int main ()
- {
- in >> n;
- back (1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment