Solved

Pythagorean Triples

Posted on 1997-03-06
5
579 Views
Last Modified: 2008-03-10

2.55      (Pythagorean Triples) A right triangle can have sides that are all integers.  The set of three integer values for the sides of a right triangle is called a Pythagorean triple.  These three sides must satisfy the relationship that the sum of the squares of two of the sides is equal to the square of the hypotenuse.  Find all Pythagorean triples for side l, side2, and the hypotenuse all no larger than 500.  Use a triple-nested for-loop that tries all possibilities.  This is an example of "brute force" computing.  You will learn in more advanced computer science courses that there are large numbers of interesting problems for which there is no known algorithmic approach other than using sheer brute force.

0
Comment
Question by:fondue
5 Comments
 
LVL 4

Expert Comment

by:jos010697
ID: 1162277
Is this a homework problem?
0
 
LVL 2

Accepted Solution

by:
Slarti earned 10 total points
ID: 1162278
#include <iostream.h>
int main()
{
 int a,b,c;
 for(a=1;a<500;a++)
  for(b=a;b<500;b++)
   for(c=b;c<500;c++)
    if(a*a+b*b==c*c)
     cout<<a<<","<<b<<","<<c<<endl;
 return 0;
}
0
 

Expert Comment

by:bc022297
ID: 1162279
since 500 * 500 = 250000, you will have to use long ints, otherwise the above code won't work.


0
 

Expert Comment

by:bc022297
ID: 1162280
since 500 * 500 = 250000, you will have to use long ints, otherwise the above code won't work.


0
 
LVL 84

Expert Comment

by:ozo
ID: 1162281
Just so we don't give the impression that there is no known algorithmic approach other than using sheer brute force for this problem:

for( s=1; s<23; s++){
    for( t=s+1; (c = t*t + s*s) < 500; t++ ){
      a = t*t - s*s; b = 2*s*t;
        cout<<a<<","<<b<<","<<c<<endl;
    }
}
 
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
maze travler 6 62
C++ dll will not run on machine without VS installed 10 88
Fully specialized class template function 21 142
I could not build boost code, 10 95
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question