Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- int main() {
- fstream fisier;
- fisier.open("bac.txt"); //citeste fisierul
- int n;
- fisier >> n; //citeste primul nr gen cate randuri sunt dupa
- for (int i = 0; i < n; i++) { //itereaza fiecare rand
- int a, b;
- fisier >> a >> b; //citeste fiecare rand
- int out = 0; //il ia default 0 in caz ca nu o sa gaseasca dupa
- for (int u = b; u >= a; u--) { //incepe de la b ca e mai mare si scade pana la a ca sa gaseasca putere de a lui 2
- int x = u; //copiaza nr de iteratie
- int ePutere = 0;
- while (x != 1 && x % 2 == 0) { //scade din el pana ajunge 1 si verifica daca e putere
- x = x / 2;
- if (x == 1) ePutere = 1;
- }
- if (ePutere) {
- out = u; //daca e putere il inlocuie pe out cu nr ala, daca nu gaseste nicio putere il lasa 0
- break; //da break la for loop ca sa nu continue sa caute si in alea mai mici dupa ce l a gasit pe cel mai mare
- }
- }
- cout << out << " ";
- }
- fisier.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement