Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream fin("bac.in");
- /*
- al doilea numar din triplet este egal cu media geometrica a celorlalte 2 numere:
- mij=sqrt(st*dr) <=>
- mij^2=st*dr <=>
- st, mij, dr sunt in progresie geometrica (nu cred ca ma ajuta)
- raman la mij^2=st*dr;
- */
- bool verificare(int a, int b, int c)
- {
- if (b*b==a*c)
- return 1;
- return 0;
- }
- int main()
- {
- int st, mij, dr;
- fin>>st>>mij>>dr;
- if (verificare(st, mij, dr))
- {
- cout<<st<<' '<<mij<<' '<<dr<<'\n';
- return 0;
- }
- int x; bool ok;
- while(fin>>x)
- {
- st=mij, mij=dr, dr=x;
- if (verificare(st, mij, dr))
- {
- cout<<st<<' '<<mij<<' '<<dr<<'\n';
- return 0;
- }
- }
- cout<<"Nu exista";
- return 0;
- }
- /*
- varianta e destul de bezic da nu cred ca se poate optimiza mai mult;
- ca si spatiu e clar ca e ok; ca si timp de executie nu cred ca pot verifica
- mai rapid decat 2 operatii de inmultire si nici nu cred ca pot parcurge sirul
- mai rapid, sau sa sar peste unele elemente, ca s-ar putea sa sar fix peste triplet;
- */
Advertisement
Add Comment
Please, Sign In to add comment