Răspuns:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n, a, b;
cin>>n;
if (ceil(log2(n))==(float)log2(n)) cout<<"Da"; else cout<<"Nu";
return 0;
}
Explicație:
Teoria: introucem un numar. Daca log in baza 2 din n, rotunjit (ceil) va fi egal cu log in baza 2 din n, atunci se afiseaza da, daca nu se afiseaza nu.
Ex: (1)
n=8;
log2(8)=3; ceil(log2(8))=3, se afiseaza da
Ex: (2)
n=9;
log2 (9)= 3.169......; ceil (log2(9))=4 ceil- rotunjirea la cel mai mare numar intreg;
Pentru folosirea logaritmelor si a rotunjirii este nevoie de biblioteca <cmath> sau <math.h>
Daca ceva neclar ma intrebi