Write a C++ programming to find the nth digit of number 1 to n

  • برمجة سي بلس بلس
  • برمجة

Write a C++ programming to find the nth digit of number 1 to n

Infinite integer sequence: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 .. where n is a positive integer.
Input: 7
Output: 7
Input: 12
Output: 1
The 12th digit of the sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... is 1, which is part of the number 11.

Sample Output:

7th digit of the infinite integer sequence is 7

 13th digit of the infinite integer sequence is 1

الأجوبة

#include <iostream>
#include <cmath>
using namespace std;

    int find_Nth_Digit(int n) {
        int digit_length = 1;
        while (n > digit_length * 9 * pow(10, digit_length - 1)) {
            n -= digit_length * 9 * pow(10, digit_length - 1);
            ++digit_length;
        }

        const int num = pow(10, digit_length - 1) + (n - 1) / digit_length;

        int result = num / pow(10, (digit_length - 1) - (n - 1) % digit_length);
        
		result %= 10;

        return result;
    }
   
int main()
{
    int n = 7;
    cout << "\n " <<  n << "th digit of the infinite integer sequence is " << find_Nth_Digit(n) << endl;
    n = 13;
    cout << "\n " <<  n << "th digit of the infinite integer sequence is " << find_Nth_Digit(n) << endl;    
    return 0;
}
هل كان المحتوى مفيد؟

تبحث عن مدرس اونلاين؟

محتاج مساعدة باختيار المدرس الافضل؟ تواصل مع فريقنا الان لمساعدتك بتأمين افضل مدرس
ماهو التخصص الذي تبحث عنه؟
اكتب هنا...