Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<conio.h>
- #include<iomanip>
- #include<time.h>
- #include<stdlib.h>
- #define N 10
- using namespace std;
- int evaluare( int v[]) {
- int doi=v[4]*100+v[5]*10+v[3];
- int trei=v[0]*1000+v[1]*100+v[2]*10+v[3];
- int cinci =v[6]*10000+v[3]*1000+v[7]*100+v[6]*10+v[3];
- return abs(cinci-(doi+trei));
- }
- int main() {
- int elemente[N], permutare[N], perm[N];
- srand(time(0));
- int gasit=0;
- while(gasit==0) {
- for(int i=0; i<N; i++) {
- elemente[i]=i;
- }
- int lungime=N, contor=0;
- while(lungime>0) {
- int poz=rand()%lungime;
- permutare[contor++]=elemente[poz];
- for(int i=poz; i<lungime-1; i++)
- elemente[i]=elemente[i+1];
- lungime--;
- }
- /*
- for (int i = 0; i < N; i++)
- cout<<permutare[i] <<" ";
- cout<<endl;
- cout<<evaluare(permutare) <<" ";
- cout<<endl;
- */
- for(int k=0; (gasit==0 && k<100); k++) {
- for(int i=0; i<N; i++) { //perm[N] este copia
- perm[i]=permutare[i];
- //cout<<perm[i]<<" ";
- }
- int x=rand()%N;
- int y=rand()%N;
- while(x==y)
- y=rand()%N;
- int temp=perm[x];
- perm[x]=perm[y];
- perm[y]=temp;
- /*
- for(int i=0; i<N; i++)
- cout<<permutare[i]<<" ";
- cout<<endl;
- cout<<evaluare(permutare) <<" ";
- cout<<endl;
- */
- if(evaluare(perm)<evaluare(permutare))
- for(int i=0; i<N; i++)
- permutare[i]=perm[i];
- if(evaluare(permutare)==0)
- gasit=1;
- }
- }
- for(int i=0; i<N; i++)
- cout<<permutare[i]<<" ";
- cout<<endl;
- cout<<evaluare(permutare) <<" ";
- cout<<endl;
- int doi=permutare[4]*100+permutare[5]*10+permutare[3];
- int trei=permutare[0]*1000+permutare[1]*100+permutare[2]*10+permutare[3];
- int cinci =permutare[6]*10000+permutare[3]*1000+permutare[7]*100+permutare[6]*10+permutare[3];
- cout<<doi<<endl;
- cout<<trei<<endl;
- cout<<cinci<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement