Monday, July 16, 2012

answer for eula project- problem3


PROBLEM
The prime factors of 13195 are 5, 7, 13 and 29.

What is the largest prime factor of the number 600851475143 ?

ANSWER

6857

JAVA CODE

import java.math.BigInteger;

public class PrimeFactor {
public static void main(String[]args){
BigInteger req=new BigInteger("600851475143");
primeGenerator(req);
}

private static void primeGenerator(BigInteger req) {
int max=775146;//sqrt of 600851475143
int ans=0;
for (int j = 2; j < max; j++) {
boolean prime=true;
for (int i = 2; i <= (int)Math.sqrt(j); i++) {
if(j%i==0 )
prime=false;
}
if(prime){
BigInteger bi=new BigInteger(Integer.toString(j));
BigInteger mode=new BigInteger("0");
if(req.mod(bi).equals(mode) &&ans<j){
ans=j;
}
}
}
System.out.println("ans="+ans);
}
}


0 comments:

Post a Comment