Skip to main content

Problem 56 project Euler Solution with python

Powerful digit sum

A googol (10100) is a massive number: one followed by one-hundred zeros; 100100 is almost unimaginably large: one followed by two-hundred zeros. Despite their size, the sum of the digits in each number is only 1.
Considering natural numbers of the form, ab, where a, b < 100, what is the maximum digital sum?


An another problem on sum of digits. Algorithm is very simple. It is as follows:
1) Write a function to find the sum of digits of the given number. The function is as follows:
  1. Let the number be n.
  2. Start a while loop. Create a variable to store the sum of numbers.
  3. Find the remainder of the number when divided by 10. This remainder will be the last digit. Add this number to the sum.
  4. Divide the number with 10 and go again for step 2, until the number becomes 0.
2) Create two for loops both in the range of 0 to 100. One for a and one for b. Now find if any of the previous values of sum of digits is lesser than the present one, then assign the present value to the largest. In a similar way continue till the end of the loop.

Have a look at the program directly even if you have not read the algorithm. It is very simple.

Program

You can download the source code from Github Gist pep56.py

Output


Summary

Not a very tough problem. But I have seen many people on the forum using the range from 90 to 100, which I didn't understand. So I am leaving this one for you. Please comment if you know the reason.

Please do correct me if my grammar is wrong or in an ambiguous way.

Comment in the comment box below if you have any doubt or haven't understood anything. I will be glad to help you.

Please comment if you have found any typo or have a better or different program or have a suggestion. I will be very happy to view each of them.

You can also contact me.

Thank you. Have a great day😃!

Popular posts from this blog

Project Euler Problem 62 solution with python

Cubic permutations ¶ The cube, 41063625 (3453), can be permuted to produce two other cubes: 56623104 (3843) and 66430125 (4053). In fact, 41063625 is the smallest cube which has exactly three permutations of its digits which are also cube. Find the smallest cube for which exactly five permutations of its digits are cube.

Project Euler Problem 67 Solution with Python

Maximum path sum II By starting at the top of the triangle below and moving to adjacent numbers on the row below, the maximum total from top to bottom is 23. 3 7 4 2 4 6 8 5 9 3 That is, 3 + 7 + 4 + 9 = 23. Find the maximum total from top to bottom in triangle.txt (right click and 'Save Link/Target As...'), a 15K text file containing a triangle with one-hundred rows.

Problem 43 Project Euler Solution with python

Sub-string divisibility The number, 1406357289, is a 0 to 9 pandigital number because it is made up of each of the digits 0 to 9 in some order, but it also has a rather interesting sub-string divisibility property. Let d 1 be the 1 st digit, d 2 be the 2 nd digit, and so on. In this way, we note the following: d 2 d 3 d 4 =406 is divisible by 2 d 3 d 4 d 5 =063 is divisible by 3 d 4 d 5 d 6 =635 is divisible by 5 d 5 d 6 d 7 =357 is divisible by 7 d 6 d 7 d 8 =572 is divisible by 11 d 7 d 8 d 9 =728 is divisible by 13 d 8 d 9 d 10 =289 is divisible by 17 Find the sum of all 0 to 9 pandigital numbers with this property. One might write a simple solution using direct if else statements for this problem. Using if else statements, the execution time may be a few seconds. But this is not a very good approach. I too had written a program with if else statement which will take each and every permutation of the 0-9 Pandigital and check for the conditions given in the qu...