Solved ProjectEuler/010: php, ruby, c

This commit is contained in:
FuryFire 2012-03-07 13:48:49 +01:00
parent 118a76b177
commit fcfb0a37f5
4 changed files with 87 additions and 0 deletions

20
ProjectEuler/010/desc.yml Normal file

@ -0,0 +1,20 @@
title: Calculate the sum of all the primes below two million.
url: http://projecteuler.net/problem=10
desc: |
The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
Find the sum of all the primes below two million.
solution: |
Use a primenumber tester
solutions:
solve.php:
desc: Basic solution
language: php
solve.rb:
desc: Basic solution
language: ruby
solve.c:
desc: ANSI C solution compiled with gcc-4.3.4
language: c

28
ProjectEuler/010/solve.c Normal file

@ -0,0 +1,28 @@
#include <stdio.h>
#include <math.h>
int is_prime( int prime) {
int max_test = sqrt( prime );
int i;
for (i = 3; i <= max_test; i+=2){
if (prime % i == 0){
return 0;
}
}
return 1;
}
int main( )
{
long long sum = 2+3;
long number;
for(number = 5; number < 2000000; number+=2) {
if (is_prime(number))
{
sum += number;
}
}
printf("%llu",sum);
}

@ -0,0 +1,18 @@
<?php
function is_prime($prime) {
$sqrt = sqrt($prime);
for ($i = 3; $i <= $sqrt; $i+=2){
if ($prime%$i == 0) return false;
}
return true;
}
$sum = 2+3;
for($number = 5; $number < 2000000; $number+=2) {
if (is_prime($number))
{
$sum += $number;
}
}
echo $sum;

21
ProjectEuler/010/solve.rb Normal file

@ -0,0 +1,21 @@
def is_prime(prime)
sqrt = Math.sqrt(prime)
i=3
while(i <= sqrt)
if (prime % i == 0)
return false
end
i+= 2
end
return true
end
number = 3
sum = 5
until(number >= 2000000)
number += 2
if(is_prime(number))
sum += number
end
end
puts sum;