← Back to Kurakani

Programming Challenge

Original Post

For all the programmers out there, I'm throwing out a challenge. Who ever got the best result will get Sajha Programmer Award. lol Here's the challenge. Using any programming language, find out the largest nth prime in under 60 seconds. Which means: you have to write a most efficient code to compute the largest prime within the limit of 1 minute. (For example: give input of 100000. code has to compute 1,00,000th prime number which is 1,299,709. But it has to finish the execution under 60 second. )

helpjava11
Aug 19, 2015 12:50 PM · 20,147 views
8 Replies
sajhamitra Aug 19, 2015 12:55 PM
What kind of question is this? You understand compute time depends on machine's CPU, RAM, programs it's running etc. Even "Hello World" could take days.
helpjava11 Aug 19, 2015 2:21 PM
It would be very difficult to find a machine that takes days to run Hello world now. lol But you are right, sajhamitra, use the best PC you can get access to and mention the specs when you post the result.
NepaliBhai Aug 19, 2015 3:12 PM
Last edited: 19-Aug-15 03:15 PM
NepaliBhai Aug 19, 2015 3:12 PM
Hey Nas, I appreciate your sharpness on googling and cut pasting the code. There are tons of code you can find with the word SieveOfEratosthenes function in various languages. At least you should have changed the function name and some variable names and return variable name. Anyway, I appreciate your aggressiveness in exploring the solutions. By the way, I don't like VB.net. I am C# guy. Last edited: 19-Aug-15 03:14 PM
helpjava11 Aug 19, 2015 3:17 PM
400000 th prime is 5800079 56.246999979 seconds Process finished with exit code 0 So far i can find 400,000th prime within 1 minute. Nas bro, try to find the largest prime within 1 minutes limit..
helpjava11 Aug 20, 2015 12:02 PM
prankster Aug 20, 2015 5:48 PM
Is this correct? Runs for a minute, output is 1137030nth prime number is 17752279 import java.util.concurrent.TimeUnit; public class PrimeTest { public static void main(final String args[]) { long start = System.currentTimeMillis(); long currentTime = start; long count = 0; long numberToCheck = 1; long primeNumber = numberToCheck; while(start < currentTime + TimeUnit.SECONDS.toMillis(60)) { if (isPrime(numberToCheck)) { count ++; primeNumber = numberToCheck; } numberToCheck ++; start = System.currentTimeMillis(); } System.out.println(count + "th prime number is " + primeNumber); } /** * @param numberToCheck * @return */ private static boolean isPrime(final long numberToCheck) { for (int divisor = 2; divisor < Math.sqrt(numberToCheck); divisor ++) { if (numberToCheck % divisor == 0) { return false; } } return true; } }
helpjava11 Aug 20, 2015 6:45 PM
Prankster : the result is impressive >1.1m th prime within a minute, but the answer doesn't look correct.
Login to join the conversation.

You might be interested in...

Recent Classifieds View all
Upcoming Events View all
Service Providers View all
Ask Sajha AI Assistant