【发布时间】:2015-08-29 05:49:50
【问题描述】:
我一直注意到一个带有一些 Project Euler 问题的主题。他们需要大量的时间来完成。 (像最大回文和第 10,001 个素数这样的问题)我希望有一些方法可以优化代码以使其更好。我让这个运行了超过 24 分钟,但没有完成。
public class Seven
{
public static void main(String[] args)
{
//Declare Variables
int primeCount = 0;
int numCount = 1;
int latestPrime = 0;
while(primeCount <= 10001)
{
if(isPrime(numCount))
{
primeCount++;
latestPrime = numCount;
}
numCount++;
}
System.out.println("The 10,001st prime is: " + latestPrime);
}
//This method will determine if a number is prime
public static boolean isPrime(long num)
{
//Check for even number
if(num % 2 == 0)
return false;
//Check for non-prime odd numbers
for(long i = 3; i <= num; i += 2)
{
if(num % i == 0)
return false;
}
//Return that the number is prime
return true;
}
}
【问题讨论】:
标签: java optimization