Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
w3resource

C Exercises: Find the nth digit of number 1 to n

C Programming Mathematics: Exercise-17 with Solution

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.

Example:
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.

Pictorial Presentation:

C Exercises: Find the nth digit of number 1 to n

Sample Solution:

C Code:

#include <stdio.h>

int find_Nth_Digit(int n) {
    unsigned int i, j, k;
    i = j = 1;
    while (n > 9 * i * j) {
        n -= 9 * i * j;
        j *= 10;
        i ++;
    }
    k = j + (n - 1) / i;
    for (j = (n - 1) % i; j < i - 1; j ++) {
        k = k / 10;
    }
    return k % 10;
}

int main(void)
{
  int n = 7;
  printf("\n%d digit of the sequence is %d",n,find_Nth_Digit(n));
  n = 12;
  printf("\n%d digit of the sequence is %d",n,find_Nth_Digit(n));
  return 0;    
}

Sample Output:

7 digit of the sequence is 7
12 digit of the sequence is 1

Flowchart:

Flowchart: Find the nth digit of number 1 to n.

C Programming Code Editor:

Improve this sample solution and post your code through Disqus.

Previous: Write a C programming to print numbers from 1 to an given integer(N) in lexicographic order.
Next: Write a C programming to find the total number of full staircase rows that can be formed from given number of dices.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



C Programming: Tips of the Day

Static variable inside of a function in C

The scope of variable is where the variable name can be seen. Here, x is visible only inside function foo().

The lifetime of a variable is the period over which it exists. If x were defined without the keyword static, the lifetime would be from the entry into foo() to the return from foo(); so it would be re-initialized to 5 on every call.

The keyword static acts to extend the lifetime of a variable to the lifetime of the programme; e.g. initialization occurs once and once only and then the variable retains its value - whatever it has come to be - over all future calls to foo().

Ref : https://bit.ly/3fOq7XP