Advertisement
Guest User

Untitled

a guest
May 27th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <algorithm>
  4. #include <math.h>
  5. #include <vector>
  6. #include <fstream>
  7.  
  8. using namespace std;
  9. typedef unsigned long long ull;
  10.  
  11.  
  12. int main()
  13. {
  14. ull m, n, k = 0, num = 0;
  15. cin >> m >> n;
  16.  
  17. long long D = pow(2, n);
  18.  
  19.  
  20. if (n == 1) {
  21. k = m / 2;
  22. } else if (n == 2) {
  23. for (ull i = 2; (ull)(log10(i)) <= n; i+=2) {
  24. if (i/10 > 0) {
  25. num = i;
  26. } else {
  27. num = (i-1)*10 + i;
  28. }
  29. if (num % D == 0) k++;
  30.  
  31. }
  32. } else if (n == 3) {
  33. for (ull i = 4; (ull)(log10(i)) <= n; i+=2) {
  34. if (i/100 > 0) {
  35. num = i;
  36. } else if (i/10 > 0) {
  37. num = (i-1)*100 + i;
  38. } else {
  39. num = (i-2)*100 + (i-1)*10 + i;
  40. }
  41. if (num % D == 0) k++;
  42.  
  43. }
  44. } else if (n == 4) {
  45. for (ull i = 4; (ull)(log10(i)) <= n; i+=2) {
  46. if (i/1000 > 0) {
  47. num = i;
  48. } else if (i/100 > 0) {
  49. num = (i-1)*1000 + i;
  50. } else if (i/10 > 0) {
  51. num = (i-1)*100 + i;
  52. } else {
  53. num = (i-3)*1000 + (i-2)*100 + (i-1)*10 + i;
  54. }
  55. if (num % D == 0) k++;
  56.  
  57. }
  58. } else if (n == 5) {
  59. for (ull i = 4; (ull)(log10(i)) <= n; i+=2) {
  60. if (i/10000 > 0) {
  61. num = i;
  62. } else if (i/1000 > 0) {
  63. num = (i-1)*10000 + i;
  64. } else if (i/100 > 0) {
  65. num = (i-1)*1000 + i;
  66. } else if (i/10 > 0) {
  67. num = (i-2)*10000 + (i-1)*100 + i;
  68. } else {
  69. num = (i-4)*10000 + (i-3)*1000 + (i-2)*100 + (i-1)*10 + i;
  70. }
  71.  
  72. if (num % D == 0) k++;
  73.  
  74. }
  75. } else {
  76. for (ull i = 4; (ull)(log10(i)) <= n; i+=2) {
  77. if (i / 100000) {
  78. num = i;
  79. } else if (i / 10000) {
  80. num = (i - 1) % 10 * 10 + i;
  81. } else if (i / 1000) {
  82. num = (i - 1) % 100 * 10000 + i;
  83. } else if (i / 100) {
  84. num = (i-1)*1000 + i;
  85. } else if (i / 10) {
  86. num = (i-2)*10000 + (i-1)*100 + i;
  87. } else {
  88. num = (i/10000)*100000 + (i-4)*10000 + (i-3)*1000 + (i-2)*100 + (i-1)*10 + i;
  89. }
  90.  
  91. if (num % D == 0) k++;
  92.  
  93. }
  94. }
  95.  
  96. cout << k;
  97.  
  98. return 0;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement