Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- bool kovetkezo(int n,int k,int v[], int s, int e[])
- {
- if(k<=n && v[k]<s/e[k])
- {
- v[k]++;
- return true;
- }
- else return false;
- }
- bool ellenoriz(int k, int v[], int s, int e[])
- {
- int ossz=0;
- for(int i=1; i<=k; i++){
- ossz=ossz+v[i]*e[i];
- if (ossz>s) return false;
- }
- return true;
- }
- int kiiratas(int k,int v[], int e[])
- {
- cout<<"Fizetesi mod egyike: ";
- for(int i=1; i<k; i++)
- if (v[i]) cout<<v[i]<<"*"<<e[i]<<"+";
- if (v[k]) cout<<v[k]<<"*"<<e[k]<<endl;
- cout<<endl;
- }
- bool megoldas(int k, int v[], int s, int e[])
- {
- int ossz=0;
- for (int i=1; i<=k; i++)
- ossz=ossz+v[i]*e[i];
- if(ossz==s) return true;
- else return false;
- }
- int main()
- {
- cout<<"==== MENNYIT BANIS KELL??? ===="<<endl<<endl;
- int n,k,v[100],s,p,e[100];
- bool van, jo;
- cout<<"Penzermek szama: ";
- cin>>n;
- cout<<"Targy erteke: ";
- cin>>s;
- for (int i=1; i<=n; i++)
- {
- cout<<"Penzerme erteke: ";
- cin>>e[i];
- }
- cout<<endl;
- k=1;
- v[k]=0;
- while(k>=1)
- {
- do
- {
- van=kovetkezo(n,k,v,s,e);
- if (van)
- jo=ellenoriz(k,v,s,e);
- }
- while(van && !jo);
- if(van)
- if(megoldas(k,v,s,e))
- kiiratas(k,v,e);
- else
- {
- k++; v[k]=0;
- }
- else k--;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement