← Back to topics
Topic

Number of digits

V
Vidakovic
Sta ovde ne valja? Prodje samo 2. test primjer a na ostalima daje WRONG RESULT.
# include <iostream>
# include <cstdio>
#define LL long long
using namespace std;
LL stepen(LL a, LL b )
{
if ( b == 0 )
return 1;

LL tmp = stepen( a, b / 2 );
tmp *= tmp;

if ( b % 2 == 0 )
{
return tmp;
}

return tmp * a;
}
LL rek(LL k) {
if (k < 10) return 1;
return 1 + rek(k / 10);
}
LL n,k,s,broj;
int main ()
{
scanf("%d",&n);
scanf("%d",&k);
s=stepen(n,k);
broj=rek(s);
printf("%d",broj);
return 0;
}
a
aleksa92
U zadatku pise: "1 <= N, K <= 2000000000", pa recimo u nekom test primeru ces imati s=2000^100000 recimo, sto nikako neces moci da upakujes u jedan long long...
a
aleksa92
Probaj da logaritmujes...