func_code_string: #include <bits/stdc++.h>   using namespace std;   const int Maxn = 1000 + 10;   const int INF = 0x7f7f7f7f;   const double eps = 1e-8;   const double pi = 3.1415926535897932384626433832795;   double p[Maxn], f[Maxn][Maxn];   long long L[Maxn], R[Maxn];   inline long long power(int a, int b) {     long long ans = 1;     for (int i = 1; i <= b; i++) ans *= a;     return ans;   }   double calc(long long a, long long b) {     char ch[50];     int len1, len2;     long long ansa = 0, ansb = 0;     a--;     sprintf(ch,  %I64d , a);     len1 = (int)strlen(ch);     for (int i = 1; i < len1; i++) ansa += power(10, i - 1);     if (ch[0] !=  1  && ch[0] !=  0 )       ansa += power(10, len1 - 1);     else if (ch[0] ==  1 )       ansa += a - power(10, len1 - 1) + 1;     sprintf(ch,  %I64d , b);     len2 = (int)strlen(ch);     for (int i = 1; i < len2; i++) ansb += power(10, i - 1);     if (ch[0] !=  1  && ch[0] !=  0 )       ansb += power(10, len2 - 1);     else if (ch[0] ==  1 )       ansb += b - power(10, len2 - 1) + 1;     return (ansb - ansa) * 1.0 / (b - a);   }   int main() {     int n, K;     cin >> n;     for (int i = 1; i <= n; i++) {       cin >> L[i] >> R[i];       p[i] = calc(L[i], R[i]);     }     cin >> K;     f[0][0] = 1;     for (int i = 1; i <= n; i++) {       f[i][0] = 1;       for (int j = 1; j <= i; j++) f[i][0] *= (1 - p[j]);     }     for (int i = 1; i <= n; i++)       for (int j = 1; j <= n; j++)         f[i][j] = f[i - 1][j] * (1 - p[i]) + f[i - 1][j - 1] * p[i];     double ans = 0;     for (int i = 0; i <= n; i++)       if (100 * i >= K * n) ans += f[n][i];     printf( %.11f n , ans);     return 0;   }   