It's been fun reading responses in the last two Project Euler threads.  If you missed them, you can view Problem #1 and Problem #2.
Let's keep it ...
              
        
    
  For further actions, you may consider blocking this person and/or reporting abuse
 
 
    
Ruby✨💎✨
Nice one. But, I think y << prime, to_a.last pose addition execution time. Michael Kohl's approach is more optimized.
Java
C :))
C is a powerful language. The same algorithm in Ruby shows to have time complexity issue. Good code, bro!
Python 3 solution. Inefficient I know...
PHP, again.
Solution: 6857
Scala:
Simple Rust solution
PHP;
Javascript;
Author: Brewyn
Largest Prime Factor
Javascript
const isPrime = ( value ) => { for( let i = 2; i < value; i++ ) if( value % i === 0 ) return false; return true; }; const LargestPrimeFactor = ( value ) => { let result = []; for( let i = 2; i < value; i++ ) if( isPrime( i ) ) if( value % i === 0 ) result.push( i ); return result; }; console.log( LargestPrimeFactor( 600851475143 ) );PHP
function isPrime( $value ) { for( $i = 2; $i < $value; $i++ ) if( $value % $i == 0 ) return false; return true; }; function LargestPrimeFactor ( $value ) { $result = []; for( $i = 2; $i < $value; $i++ ) if( isPrime( $i ) ) if( $value % $i == 0 ) array_push( $result, $i ); return $result; }; print_r( LargestPrimeFactor( 13195 ) ); //Array( // [0] => 5 // [1] => 7 // [2] => 13 // [3] => 29 //)Python
def isPrime( value ): for i in range( 2, value ): if value % i == 0: return False return True def LargestPrimeFactor ( value ): result = [] for i in range( 2, value ): if isPrime( i ): if value % i == 0: result.append( i ) return result print( LargestPrimeFactor( 600851475143 ) )Java
import java.util.Arrays; class Main { public static void main(String[] args) { class LargestPrimeFactor { public LargestPrimeFactor( int value ) { System.out.println(Arrays.toString(this.LargestPrimeFactor(value))); } boolean isPrime(int value) { for(int i = 2; i < value; i++) { if(value % i == 0) { return false; } } return true; } int[] LargestPrimeFactor(int value) { int result[] = new int[4]; int counter = 0; for( int i = 2; i < value; i++ ) { if( this.isPrime(i) ) { if(value % i == 0){ result[counter] = i; counter++; } } } return result; } } LargestPrimeFactor myObject = new LargestPrimeFactor(600851475143); // [ 5, 7, 13, 29 ] } }Rust:
Result:
/*Largest prime factor
Problem 3
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?*/
include
using namespace std;
int main()
{
long long num=600851475143 ,largest=1 ;
for(int i=2;i<=num;i++)
{
if(num%i==0)
{
num=num/i;
cout< if(i>largest)
largest=i;
}
}
cout<<"\n\n"<<"the largest prime factor of the number 600851475143 is "<<largest<<"\n";
return 0;
}
My code in C++ >>Output>>6857
Python!
C#
Result
Python:
Julia
function isprime(n)
a = ceil(Int,sqrt(n))+1
a=iseven(a) ? a+1 : a
for i = a:-2:3
if n % i == 0
return false
end
end
return true
end
function largest_prime(number)
sqrt_of_n = ceil(Int,sqrt(number)) # the answer must be less than square root of n
sqrt_of_n=iseven(sqrt_of_n) ? sqrt_of_n+1 : sqrt_of_n #a prime cannot be even, so only check odd numbers
for i = sqrt_of_n:-2:1
if number % i == 0 #if 600851475143 is divisible by i
if isprime(i) #then check if i is prime
return i
break
end
end
end
end
println(largest_prime(600851475143))
How do I enter formatted code on this site?
It returns
2whenn = 1, my code returnsnil.java is cool
static long IsPrime(long n){
int counter = 2;
long newval = n;
long larfact = 0;
while(counter*counter <= n){
if(newval % counter == 0){
newval = newval/counter;
larfact = counter;
}
else{
counter++;
}
}
if(newval > larfact){
larfact = newval;
}
return larfact;
but 600851475143 is coming under the range of the "long" data type of java but still it works for any value below it .
THE APPROACH IS PRETTY SIMPLE :
I used the the "Fundamental Theorem of Arithmetic" which states That Any Integer greater than 1 is either a prime number or product of prime numbers.
For example:
12
we start with smallest prime number 2.
the 12/2 = 6 which means that 2 is the prime factor 12.
If we try again by dividing the result by 2
6/2 = 3 . 3 is also a prime number . So the complete factorization is 2,2,3.
I have implemented this logic in the above code This works really fast .I think this code can be improved
a little bit Please some one suggest me.
Hope You like The implementation ;)
python
Well optimized code. You had to think a lot. Good one, bro!