Dzień dobry, robię zadania na szkopule i natknąłem się na błąd z przekroczonym limitem czasu. Niezbyt rozumiem czemu zaistniał tu taki błąd próbowałem program zrobić na inne sposoby ale wtedy nie wychodził poprawny wynik. Czy ktoś mógłby doradzić gdzie leży problem ?
Oto jest treść zadania :https://szkopul.edu.pl/problemset/problem/hnqWjOVNGN2AM3769svlTYv3/site/?key=statement
Mój kod:
#include<iostream>
using namespace std;
int main()
{
int potega = 1;
int liczba_poteg = 0;
int x;
cin>>x;
while(x >= potega)
{
potega *= 2;
liczba_poteg ++;
}
cout<<liczba_poteg;
return 0;
}
Jeszcze mam jeden kod, też nie działa i jakby ktoś mógł udzielić jakiejś rady, jak poprawić to byłbym bardzo wdzięczny
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
unsigned int p = 1;
unsigned int x,y = 2;
cin>>x;
while(x > pow(y,p))
{
p++;
}
cout<<p;
return 0;
}