Answer to Question #222394 in Python for srikanth

Question #222394
Number of digits until N

Given an integer 

N, write a program that prints the count of the total number of digits between 1 and N.

Input

The input is a positive integer.

Output

The output should be a single line containing the count of the digits up to the given number.

Explanation

Given 

N = 10

From 1 to 9, each number contains a single digit. From 10 onwards, the numbers contain two digits.

So the output should be 9 + 2 = 

11.

Sample Input 1
10
Sample Output 1
11
Sample Input 2
4
Sample Output 2
4

sample input 3
1000
sample output3
2893
1
Expert's answer
2021-08-02T07:13:29-0400
def findDigits(n): 
    ans = 0 
    if(n < 10): 
        return n; 
    else:
        d = 1
        nt = n
        byten = 1 
        while(nt > 9): 
          ans += (9 * byten * d)
          byten *= 10 
          nt /= 10 
          d+=1 
    ans += d * (n + 1 - byten) 
    return ans; 
N=int(input())
print(findDigits(N))

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS