Advertisement
Vennox

Untitled

Nov 19th, 2020
366
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.04 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7.  
  8.     fstream fisier;
  9.     fisier.open("bac.txt"); //citeste fisierul
  10.  
  11.     int n;
  12.  
  13.     fisier >> n; //citeste primul nr gen cate randuri sunt dupa
  14.  
  15.     for (int i = 0; i < n; i++) { //itereaza fiecare rand
  16.  
  17.         int a, b;
  18.         fisier >> a >> b; //citeste fiecare rand
  19.    
  20.         int out = 0;   //il ia default 0 in caz ca nu o sa gaseasca dupa
  21.         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
  22.  
  23.             int x = u; //copiaza nr de iteratie
  24.             int ePutere = 0;
  25.  
  26.             while (x != 1 && x % 2 == 0) { //scade din el pana ajunge 1 si verifica daca e putere
  27.  
  28.                 x = x / 2;
  29.  
  30.                 if (x == 1) ePutere = 1;
  31.  
  32.             }
  33.  
  34.             if (ePutere) {
  35.                
  36.                 out = u; //daca e putere il inlocuie pe out cu nr ala, daca nu gaseste nicio putere il lasa 0
  37.  
  38.                 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
  39.             }
  40.  
  41.         }
  42.  
  43.         cout << out << " ";
  44.  
  45.     }
  46.    
  47.     fisier.close();
  48.  
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement