Advertisement
H-a-y-K

Untitled

Jan 23rd, 2021
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. int digit_count(int n)
  4. {
  5.     if (n <= 9)
  6.         return 1;
  7.  
  8.     int count = 0;
  9.  
  10.     while (n > 0)
  11.     {
  12.         n /= 10;
  13.         count++;
  14.     }
  15.  
  16.     return count;
  17. }
  18.  
  19. int digit_at(int n, int index)
  20. {
  21.     int dig_count = digit_count(n);
  22.  
  23.     while (dig_count > index+1)
  24.     {
  25.         n /= 10;
  26.         dig_count--;
  27.     }
  28.  
  29.     return n % 10;
  30. }
  31.  
  32. int main() {
  33.     int n;
  34.     std::cin >> n;
  35.  
  36.     int total_digit_count = 0;
  37.  
  38.     for (int i = 1; i <= n; i++)
  39.     {
  40.         total_digit_count += digit_count(i);
  41.  
  42.         if (total_digit_count == n)
  43.         {
  44.             std::cout << i % 10;
  45.             break;
  46.         }
  47.         else if (total_digit_count > n)
  48.         {
  49.             std::cout << digit_at(i, total_digit_count - n - 1);
  50.             break;
  51.         }
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement