func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long N = 1011;   const long long INF = 5e16;   namespace IO {   inline long long read() {     long long x = 0;     bool f = 0;     char ch = getchar();     for (; !isdigit(ch); ch = getchar()) f ^= (ch ==  - );     for (; isdigit(ch); ch = getchar()) x = x * 10 + (ch ^ 48);     return f ? -x : x;   }   inline void write(long long x) {     if (x < 0) putchar( - ), x = -x;     if (x > 9) write(x / 10);     putchar(x % 10 | 48);   }   inline void wrn(long long x) {     write(x);     putchar(   );   }   inline void wln(long long x) {     write(x);     putchar(  n );   }   inline void wlnn(long long x, long long y) {     wrn(x);     wln(y);   }   }  // namespace IO   using namespace IO;   namespace Cesare {   long long x, k, p;   double Ans = 0, f[N][N];   int main() {     x = read(), k = read(), p = read();     double Mul = p * 0.01, Add = 1.0 - Mul;     for (register int i = 0; i <= k; ++i)       for (register int j = x + i; !(j & 1); j >>= 1) ++f[0][i];     for (register int i = (1); i <= (k); ++i)       for (register int j = (0); j <= (k); ++j) {         if (j) f[i][j - 1] += f[i - 1][j] * Add;         if (k >= (j << 1)) f[i][j << 1] += (f[i - 1][j] + 1) * Mul;       }     return printf( %.12lf n , f[k][0]), 0;   }   }  // namespace Cesare   int main() { return Cesare::main(); }   