Solved ProjectEuler/010: php, ruby, c
This commit is contained in:
		
							
								
								
									
										20
									
								
								ProjectEuler/010/desc.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										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
									
								
							
							
						
						
									
										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);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										18
									
								
								ProjectEuler/010/solve.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								ProjectEuler/010/solve.php
									
									
									
									
									
										Normal file
									
								
							@@ -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
									
								
							
							
						
						
									
										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;
 | 
				
			||||||
		Reference in New Issue
	
	Block a user