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

Stock Market using Python

 "The stock market is a device for transferring money from the impatient to the patient." - Warren Buffett Today we'll look into few ways for accessing the stock market. And we'll do this using Python ! Now, as we know that there are 2 stock exchange in India; BSE and NSE So we'll get the data from both! To begin with let's access the data from BSE first. (P.S: I certainly like the 2nd and the 3rd method to access stock market!) * So, to import the BSE data we need to " pip install bsedata ". => And then import the module, => Create an object to store the Driver Class => Then we need to do " getQuote('script_code')" where we need to provide a script code of a company which we need to access. Just like here we have given; => And from here we can see that the script code was for the company named "V-MART". But we can't remember all the script code hence we need to download this script file from the BSE websi...