Skip to main content

Sum and Product of given Digits

* Our objective is to find the sum of given digits i.e.; 2+4+3=9

# sum of given digits code:--

n = int(input('Enter number:'))

sum =0

while n>0:

    sum = sum + (n%10)

    n = n//10

print('Sum of digits=', sum)

# Output: Enter number:243

                Sum of digits= 9


>> Lets look at the program--

1) First we'll take an input from the user

   Say n = 243


2) Secondly, we'll initialize the variable

   sum = 0


3) We'll build a loop

   i.e.; while n>0:


4) Now we'll build our logic as

   sum = sum + (n%10)        ----eq.1


>> Lets see how this logic works--

Here, at the R.H.S we have

sum + (n%10)    ----from eq.1


Since we have sum=0 and n=243

Therefore, sum + (n%10) = 0 + (243%10) 

>> When we divide 243/10 we get the remainder as 3. That is what 243%10 is doing here.

              = 0 + (3)

                                    sum = 3

>> We have fetched the last digit from the given number. But now we want the number next to it.


5) Therefore, n = n//10

   >> When we perform a simple division on a given number--

        Say 243/10 = 24.3


   >> But here, we are doing floor division which helps us to exclude the digit after the decimal.

       i.e.; 243//10 = 24


   >> Therefore, n = n//10 is equivalent to n = 24.


6) Now since n = 24 the pointer will go to the while loop. It will check the condition.

        while n>0 

        i.e.; 24>0 

>> Since the condition fulfills it will again repeat the same procedure (from step 4 to 5)


7) Here, sum = 3+4

     = 7


    And, n = n//10

           = 2


* For more clarity look at the step-by-step cases--

  n = 243

 sum = 0 

 while (n>0):

sum = sum + (n%10)

    = 0 + (243%10=)3

            = 0 + 3

        sum = 3


        n = n//10

          = (243//10=)24

        n = 24


 while (n>0):

        sum = sum + (n%10)

    = 3 + (24%10=)4

            = 3 + 4

        sum = 7


        n = n//10

          = (24//10=)2

        n = 2



• while (n>0):

      sum = sum + (n%10)

    = 7 + (2%10=)2

            = 7 + 2

        sum = 9


        n = n//10

          = (2//10=)0

        n = 0


>> And here the loop will get terminated coz '0' is not greater than '0' as per our condition(viz while n>0).

>> So the pointer will come out of the loop and the print statement will execute. Executing the desired result.


* Our objective is to find the product of given digits i.e.; 2*4*3= 24

# product of given digits:--

n = int(input('Enter number:'))

product = 1

while n >1:

    product = product * (n%10)

    n = n//10

print('Product of digits=', product)


# Output : Enter number:243

                   Product of digits= 24


>> For finding the product of given digits, we just need to change the variable to product =1.

>> Coz here we need to multiple the digits and if we multiply the digits by 0 the result for every number will be 0.

* For simple calculator visit linkclick here

Comments

Popular posts from this blog

Glowing Border effect using html/css

  {html code} <html>     <head>         <link href='E:\html\.vscode\.vscode\style.css' type='text/css' rel='stylesheet'>         <title>Glowing Border</title>     </head>     <body>         <div class='box'>             <div class='text'>             <h2><u>Glowing Border</u></h2>             <p>HTML and CSS are technically not the programming languages, they are the scripting languages.              Usually used for the front-end development.</p>             </div>         </div>             </body> </html> {css code} body{     background: black;     display: ...

What are some methods for optimizing Oracle databases for large data inserts?

 For large data inserts I can suggest you few things like: Use trigger(PL/SQL) Use APPEND hint Remove indexes on tables Firstly, while you use triggers in the table it could leave data to be logically corrupt. And it will then perform insert in a very conventional way. Which is a time consuming process and won’t helps us! Secondly, using APPEND hint will help us to an extend. So, APPEND hint tells the optimizer to perform a direct-insert into the table, which improves the performance. Now there is a way which we could achieve this by minimizing the Redo generation. What Redo do is; it basically ensures the recoverability of data to the database. It writes down every transaction to the archive log. Let’s take a scenario, where if the database is running on the NOARCHIVELOG mode, using APPEND hint will reduce the redo generation i.e; it won’t write into the archive log anymore and thus increases the speed. But then it won’t be able to recover at any point in time if your data is ambi...

Quote and Joke Generator

*This a random quote and jokes generator. #The first one is a random quote generator. You will get a new quote every time you click on the button. #The second one is a random joke generator. You will get a new joke every time you click on the button. For Number Guessing Game : click here //click on the button to get a quote //-author get a quote //click on the button to get a joke get a joke