Advertisement
Guest User

Untitled

a guest
May 21st, 2018
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.22 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5. int main()
  6. {
  7.         long long m;
  8.         int n;
  9.         cin >> m >> n;
  10.  
  11.  
  12.  
  13.  
  14.  
  15.         int nums[10], sznums = 0, r = 10, need = 1, cnt = 0;
  16.         for (int i = 1; i <= n; i++)r *= 10, need *= 2;
  17.  
  18.  
  19.  
  20.  
  21.         for (int i = 1; i <= r; i++)
  22.         {
  23.             int cur = 0, prev = i, tt = n, a = prev;
  24.             while (1)
  25.             {
  26.                 while (tt&&a > 0)
  27.                 {
  28.                     nums[sznums] = a % 10;
  29.                     sznums++;
  30.                     a /= 10;
  31.                     tt--;
  32.                 }
  33.                 prev--;
  34.                 if (!tt || prev == 0)break;
  35.                 a = prev;
  36.             }
  37.  
  38.  
  39.  
  40.             for (int j = sznums - 1; j >= 0; j--)cur = cur * 10 + nums[j];
  41.  
  42.             sznums = 0;
  43.             if (cur%need == 0)cnt++;
  44.         }
  45.  
  46.  
  47.         long long ans = (long long)(m / r)*(long long)cnt;
  48.  
  49.  
  50.  
  51.         bool ttt = false;
  52.         if (m < r)ttt = true;
  53.         for (int i = 1; i <= (m%r); i++)
  54.         {
  55.             int cur = 0, prev = i, tt = n, a = prev;
  56.             while (1)
  57.             {
  58.                 while (tt&&a > 0)
  59.                 {
  60.                     nums[sznums] = a % 10;
  61.                     sznums++;
  62.                     a /= 10;
  63.                     tt--;
  64.                 }
  65.                 if (ttt == false)break;
  66.                 prev--;
  67.                 if (!tt || prev == 0)break;
  68.                 a = prev;
  69.             }
  70.  
  71.  
  72.             for (int j = sznums - 1; j >= 0; j--)cur = cur * 10 + nums[j];
  73.  
  74.             sznums = 0;
  75.             if (cur%need == 0)ans++;
  76.         }
  77.        
  78.  
  79.         cout<<ans;
  80.     return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement