Solved 009: php, ruby, c
This commit is contained in:
23
ProjectEuler/009/desc.yml
Normal file
23
ProjectEuler/009/desc.yml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
title: Find the only Pythagorean triplet, {a, b, c}, for which a + b + c = 1000.
|
||||||
|
url: http://projecteuler.net/problem=9
|
||||||
|
|
||||||
|
desc: |
|
||||||
|
A Pythagorean triplet is a set of three natural numbers, a b c, for which,
|
||||||
|
a^2 + b^2 = c^2
|
||||||
|
For example, 3^2 + 4^2 = 9 + 16 = 25 = 5^2.
|
||||||
|
There exists exactly one Pythagorean triplet for which a + b + c = 1000.
|
||||||
|
Find the product abc.
|
||||||
|
|
||||||
|
solution: |
|
||||||
|
Make a nested forloop for a and b in the range 1-1000 - Then c = 1000-a-b - Test if solution is valid.
|
||||||
|
|
||||||
|
solutions:
|
||||||
|
solve.php:
|
||||||
|
desc: Basic solution
|
||||||
|
language: php
|
||||||
|
solve.rb:
|
||||||
|
desc: Basic solution
|
||||||
|
language: ruby
|
||||||
|
solve.c:
|
||||||
|
desc: ANSI C solution compiled with TCC
|
||||||
|
language: c
|
24
ProjectEuler/009/solve.c
Normal file
24
ProjectEuler/009/solve.c
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#include "stdio.h"
|
||||||
|
#include "math.h"
|
||||||
|
|
||||||
|
int main( )
|
||||||
|
{
|
||||||
|
int a;
|
||||||
|
int b;
|
||||||
|
int c;
|
||||||
|
int cmp;
|
||||||
|
for(a = 1; a < 1000; a++)
|
||||||
|
{
|
||||||
|
for(b = 1; b < 1000; b++)
|
||||||
|
{
|
||||||
|
//Calculate the only valid value for c
|
||||||
|
c = 1000 - a - b;
|
||||||
|
if( pow(c,2) == (pow(a, 2 ) + pow( b, 2 )))
|
||||||
|
{
|
||||||
|
int result = a * b * c;
|
||||||
|
printf("%i", result);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
11
ProjectEuler/009/solve.php
Normal file
11
ProjectEuler/009/solve.php
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
for ($a = 1; $a < 1000; $a++) {
|
||||||
|
for ($b = 1; $b < 1000; $b++) {
|
||||||
|
//Make it run reverse in order to find solution quickly
|
||||||
|
$c = 1000 - $a - $b;
|
||||||
|
if (pow($a, 2) + pow($b, 2) == pow($c, 2)) {
|
||||||
|
echo $a * $b * $c;
|
||||||
|
die;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
9
ProjectEuler/009/solve.rb
Normal file
9
ProjectEuler/009/solve.rb
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
(1..1000).each do |a|
|
||||||
|
(1..1000).each do |b|
|
||||||
|
c = 1000 - a - b
|
||||||
|
if( a ** 2 + b ** 2 == c ** 2)
|
||||||
|
puts a * b *c
|
||||||
|
exit
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Reference in New Issue
Block a user