Skip to main content

Problem9 projecteuler.net Matlab Special Pythagorean triplet solution

Problem:

A Pythagorean triplet is a set of three natural numbers, a < b < c, for which,

a2 + b2 = c2
For example, 32 + 42 = 9 + 16 = 25 = 52.
There exists exactly one Pythagorean triplet for which a + b + c = 1000.
Find the product abc. Solve using matlab?

Solution

Here we have used the for loops in the matlab and the if condition to check the given condition. If you don't know what for loop is and what if statement is then click here:
For loop in Matlab
If statement in Matlab

Program



sol = 1;
for i = 1:1000
    for j = 1:1000
        for k = 1:1000
            if i^2+j^2 == k^2
                if (i+j+k) == 1000
                    sol = i*j*k
                end
            end
        end
    end
end

Download the above program from here: spytriplet.m

Explanation

The condition given in the question is that a+b+c is not greater than 1000, Then in the worst case if b and c are equal to 0 then a is 1000 similarly, for b and c also. so the condition can be stated mathematically as 
a<=1000
b<=1000
c<=1000
So I have started three loops with iterators i, j, k corresponding to a, b, c. Digging into the for loops we can find the if statement to check the pythogorean theorem, and again digging deep we can find the condition of a+b+c = 1000, if all the conditions are satisfied then the sol stores the value and the output of a*b*c is given.

I have tried to explain this program easily, but if you cannot understand then please do contact me.

This problem has been taken from projecteuler.net and can be found here: problem9

To download this post and read it offline then click here: problem7_projecteuler_matlab.pdf

The above program was highlighted using hilite.me

Run the program and comment below the output you are getting for a given input.
Keywords: problem 9 ,projecteuler.net, special pythagorean triplet, matlab function

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.

Add/Embed SVG to Blogger website

In this post I will tell you my method(trick) of adding SVG images in a blogger website or blog. Before starting , the first thin g I am assu m ing is that you are aware of SVG if you are here. If not please see S calable V ec tor G raphics Recently when I tried to embed a SVG image for a post on pygal, I tried uploading the SVG file and blogger Image uploader came up with an error, because of which I had to find some other way.  SVG File upload Error in Blogger  I started sea rc hing Google " Embed SVG in Blogger " . I found blogorrhea , w h ich gave some i nformatio n on add ing SVG directly as a markup , which worked , but I faced another problem using this . Also th is guy has used lot of Javascript which was confusin g for me, being new to using SVG.   So I first t houg ht of learning on h ow to embed SVG in HTML and t his on e worked out. Actually we can embed SVG in HTML i n following ways: Using Object tag Using Iframe tag Using embed...

Making a quiz web app with python and flask

Edit : When you are creating a web app with h tml templates, then y ou will have to sa ve the html file in templates folder in the Current Wor ki ng Directory( CWD). If you save the file in the C W D directl y you will get a TemplateNotFound error. Thank you Udhay for pointing it out.   In this post we will create a quiz website using python . I will be using the flask framework . After reading this tutorial you will learn form submission , flask templates , python code in flask templates , shuffling the questions and options with the random module and few others.  Please note that this tutorial is not big as it seems to be. Some of the code has been rewritten to maintain consistency and also font size is somewhat big so that your eyes won't get stressed reading this tutorial. Also the content has not occupied the full width of the page. In this tutorial I am assuming that you are having a very basic understanding of the flask framework . Please refer the documenta...