Efficient Way To Find Primes And Sum Of Primes
Jan 11, 2014
Java Code:
class Program {
public static void main (String[] args) {
long max = 200; //add up all primes up to 200
long ans = 0;
for(long x = 2; x < max; x++) {
if(isPrime(x)) {
ans += x;
[Code] ....
This code adds up all of the primes before a certain number (max). Unfortunately, it is much too slow when you get up to bigger numbers - how can I do this more efficiently.
View Replies
ADVERTISEMENT
Feb 5, 2014
I am working on a problem that computes primes. Here is the problem: You are going to implement a class that computes all the primes up to some integer n. The technique you are to use was developed by a Greek named Eratosthenes who lived in the third century BC. The technique is known as the Sieve of Eratosthenes. The algorithm is described by the following pseudocode:
create a queue and fill it with the consecutive integers 2 through n inclusive.
create an empty queue to store primes.
do {
obtain the next prime p by removing the first value in the queue of numbers.
put p into the queue of primes.
go through the queue of numbers, eliminating numbers divisible by p.
} while (p < sqrt(n))
all remaining values in numbers queue are prime, so transfer them to primes queue
You are to use the Queue interface provided. When you want to construct a Queue object, you should make it of type LinkedQueue. These classes are included. You should define a class called Sieve with the following public methods:
Sieve() - Constructs a sieve object.
void computeTo(int n) - This is the method that should implement the sieve algorithm. All prime computations must be implemented using this algorithm. The method should compute all primes up to and including n. It should throw an IllegalArgumentException if n is less than 2.
void reportResults() - This method should report the primes to System.out. It should throw an IllegalStateException if no legal call has been made yet on the computeTo method. It is okay for it to have an extra space at the end of each line.
int getMax() - This is a convenience method that will let the client find out the value of n that was used the last time computeTo was called. It should throw an IllegalStateException if no legal call has been made yet on the computeTo method.
int getCount() - This method should return the number of primes that were found on the last call on computeTo. It should throw an IllegalStateException if no legal call has been made yet on the computeTo method.
Your reportResults method should print the maximum n used and should then show a list of the primes, 12 per line with a space after each prime. Notice that there is no guarantee that the number of primes will be a multiple of 12. The calls on reportResults must exactly reproduce the format of the sample log. The final line of output that appears in the log reporting the percentage of primes is generated by the main program, not by the call on reportResults.
Here is my class Sieve. I am having difficulty getting all the primes into the proper queue:
public class Sieve {
private Queue<Integer> primes;
private Queue<Integer> numList;
private boolean computed = false;
private int max;
private int count = 0;
[Code] ....
When I input say, 20, I only get 2, 3, and 11 back as primes. Somewhere in the algorithm (lines 40-54) I seem to have gone awry, but I'm not certain where. Here are the other classes:
SieveMain:
// This program computes all the prime numbers up to a given integer n. It uses the classic "Sieve of Eratosthenes" to do so.
import java.util.*;
public class SieveMain {
public static void main(String[] args) {
System.out.println("This program computes all prime numbers up to a");
System.out.println("maximum using the Sieve of Eratosthenes.");
System.out.println();
[Code] .....
View Replies
View Related
Jun 27, 2014
I found this method from the same link from which I found the Pandigital method. This method uses the algorithm of sieve of eratosthenes who was a greek mathematician and showed how to find prime numbers by taking an individual number and finding the multiples of it and cut them out for they will not be a prime number. From what I've seen this program gives the results much faster than the traditional way of searching for prime numbers by diving that number by the digits upto half of that number and check for divisiblity.
Well, here's the code
public int[] ESieve(int upperLimit) {
int sieveBound = (int)(upperLimit - 1) / 2;
int upperSqrt = ((int)Math.Sqrt(upperLimit) - 1) / 2;
BitArray PrimeBits = new BitArray(sieveBound + 1, true);
for (int i = 1; i <= upperSqrt; i++) {
if (PrimeBits.Get(i)) {
[Code] .....
As seen from the full program on the site [URL] .... this program was formely writen in C++ and from there I've scrapped out this method as the syntax are corresponding to that of Java, but one problem I faced was in finding the BitArray class in Java. I was unable to understand the approach of this program to find the prime numbers.
View Replies
View Related
Jan 30, 2014
my project flow is html,css,js<--->ajax<-->jsp<--->jdbc(.java)<--->mysql. In that jdbc i am returning the records from the database and fill into the resultset. From the resultset i put all records in arraylist and passed to jsp then i am displaying data in the screen.Whether i can use arraylist, hashmap or treetable?
View Replies
View Related
Jan 31, 2015
if one address point on another address. so set and get methods will be less efficient then an array, but add or remove will be more efficient by a linked list ? a linked list also inherit from queue so if i add an elemnt via "addFirst" function . where its adding the element ? to the right most or left most ?
if i have for example :
here [ ] --> [ ] --> [ ] --> [ ] -->[ ] or here
linked list its FIFO so the head will be the right most ?
Edit : its confused me a little bit but i understood now .so it will be at the left most. its actually ordered . not like the stack which is LIFO.
View Replies
View Related
Jan 23, 2014
My GCD testing:
Java Code:
public static long gcd(long a, long b) {
if(b == 0) {
return a;
} else {
return gcd(b, a % b);
}
} mh_sh_highlight_all('java');
Is there a more efficient way? Also, what can I do to speed this forloop up?
Java Code:
for(long i = 1; i < 750000; i++) { dothis; } mh_sh_highlight_all('java');
View Replies
View Related
May 27, 2015
I've a question on rounding doubles on 0.05 As far as i know there is no class method that is able to do this. To achieve this rounding i have the following code:
Example:
164.67 -> 164.70
173.33 -> 173.35
0.02 -> 0.05
double calculatedQuantity = 0.0;
// Formula to calculate the average working hours in a month
int totalWeeksInYear = 52;
int totalMonthsInYear = 12;
[Code].....
View Replies
View Related
Oct 22, 2014
I'm looking for a way to gather data from a site page. all data is shown in the same page... I am trying to get the content and parse it is a bit crazy as data seems to be not organized. Itried to get it as a document but still looks crazy.
As all data is shown very clearly in the page (I would like every row to be an object) I'm sure there is some way to collect this data easily. (the data is from this page: [URL] ....)
I'll attach a snapshot and the content I got from the website.
in-play.jpgall_in-play_page.txtin-play.jpgall_in-play_page.txt
View Replies
View Related
Aug 20, 2014
I am kind of new to Java. I have a query.. look at it. Have an xml like
<ProductList>
<Product Quality='Good' color='Blue'>
<Details ItemID='1001'/>
</Product>
...
..
</ProductList>
The <Product> tags can run into hundreds or thousands. Quality can have values like Good, Bad, Damaged. Color can also have various values (Blue, Red ..)
ItemID can repeat or can be different. So I want group by ItemID->Color->Good count or BadCount and TotalCount as below.
I want to get a sum like
<ProductList>
<ProductType ItemID="1001">
<Product_Detail CountGood="1" CountBad="2" CountTotal="3" Type="Blue"/>
</ProductType>
...
...
</ProductList>
I think using Hashmaps (Hashmap1 for ItemID, Hashmap2 for color, Hashmap3 for quality) may do the work. But I have to parse the xml number of ItemID's multiply-by number of colors multiply by various colors times for this.
Any better algorithm is there in performance perspective using Java.
View Replies
View Related
Oct 18, 2014
This isn't solely related to java.awt.Color, it's more of a question on how to store methods or redirections to use methods on any value passed in. To explain my question I'll describe a scenario:
ClassA is an instanstiatable class
ClassA has an instance of ClassB called cB
ClassA has methods of affecting cB
ClassD is also an instanstiatable class
ClassD has an Array[x][y] of instances of ClassA
I want to create a ClassE which I would initiate it with references to ClassA's methods or their actual methods and then I can use ClassE to easily transform ClassD's instances of ClassA by the same methods.
What I'm actually doing:
I made a class called GameColor, it has methods like changeHue, setRed, setHue, changeBrightness, setSaturation etc, these methods affect an instance of java.awt.Color in the GameColor class instances, so like they can change the hue or set it with changeHue or setHue etc...
Now I want to do something like perform a single method on a whole BufferedImage, on each of it's pixels RGB. So, I'm thinking of creating a GameColorEffects class which I store references or actual methods of GameColor like changeHue, and then I use GameColorEffects somehow to change a whole BufferedImage more efficiently, what's the most efficient way I can store methods or their reference of GameColor and then later apply them on each pixel of a BufferedImage using GameColorEffects. So all I do is initiate GameColorEffects with methods or reference from GameColor, and then I can apply it to easily transform each pixel.
View Replies
View Related
Feb 13, 2015
with arrays its binary search which finds a value in O(Logn) time but what about linked lists ? the most effiecient algorithm will be O(n) ? and i know that binary search cannot be implement on a linked list , therefore , the only way to search a linked list is a linear search ?
View Replies
View Related
Jan 25, 2014
write a program in java to enter a year and find out the first day of that year
View Replies
View Related
Feb 21, 2014
I'm having issues with my bottom loop trying to read in a large *.txt* file but how can I do a check to see if its at the end of the document?
import java.io.File;
import java.util.Scanner;
import java.io.PrintWriter;
import java.io.IOException;
import java.io.FileNotFoundException;
[code]...
View Replies
View Related
Feb 2, 2015
I'm trying to find a specific file that already exists on the computer. I want to find that file and zip it. don't get sidetracked with whether or not the file exists, because I'm sure it does on my local machine and TDD will address that what-if scenario later.
My code and JUnit is below. Since its not finding the file, I assume I must be formatting 'path' wrong. I wonder if I'm even on the right track logically.
private ZipParameters zp = new ZipParameters();
private ZipFile zipFile;
public ZipFile createZipFile(File f, String path) throws ZipException{
zipFile = new ZipFile(path);
zp.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
zp.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
[Code] ....
View Replies
View Related
Jan 14, 2014
i want to write a program have a array 2d like that :
int array [][] = new int [3][3]
after that the user input value by using scanner then give summation of each column in matrix , i wrote this one
Java Code:
class MatrixSum{
public static void main(String[] args) {
int matrix1[][]= {{7,8,9},{1,5,2}};
int matrix2[][]= {{1,6,4},{2,7,3}};
System.out.println("Number of Row= " + matrix1.length);
System.out.println("Number of Column= " + matrix1[1].length);
int l = matrix1.length;
System.out.println("Matrix 1 : ");
for(int i = 0; i < l; i++) {
[code]...
but i want to change that the user input the value by using scanner.
View Replies
View Related
Jan 8, 2015
How can I find the DPI of an image? The following code tells me the size of the image in pixels which I want to convert to millimetres. When I have looked at conversions I can find - "mm = (pixels * 25.4) / dpi" but how do I find out the DPI?
public class NewMain {
/**
* @param args the command line arguments
* @throws java.io.IOException
*/
public static void main(String[] args) throws IOException {
String filename = null;
BufferedImage bimg = ImageIO.read(new File("testimage.jpg"));
int width = bimg.getWidth();
[Code]...
View Replies
View Related
May 6, 2014
Some method say cannot find symbol like :
jtaAnyText.SetText(intString);
Java Code :
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
public class JTextArea extends javax.swing.JFrame {
[Code] ....
View Replies
View Related
Apr 12, 2015
I am having trouble compiling my simple java program, i keep having this "cannot find symbol"Untitled.jpg but the ODD thing is when i tried to run my code through online java compiler like Ideone.com it compiles perfectly fine. "Check it here".is it because of my jdk? I use the latest jdk 8. and the book I'm following is "Head First Java"..here's my code
class TapeDeck {
boolean canRecord = false;
void playTape() {
System.out.println("tape playing");
}
void recordTape() {
System.out.println("tape recording");
[code]....
View Replies
View Related
Dec 25, 2014
Suppose i have a hashMap which includes instances of class Employees and instances of class Customers.
How can i get the employees objects only?
And would it be possible to find the oldest staff by comparing the ages stored in the age fields of the staff objects.
View Replies
View Related
Nov 28, 2014
My assignment is to create an ObjectOutputStream object mapped to a binary output file named "ItemRecord_binary.txt". So far I've created a ItemRecord class with a constructor with getters and setters and a override toString method. It compiled. This ItemRecordReport class does not compile because of a can't find symbol error. Here is the code:
import java.io.*;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.Scanner;
public class ItemRecordReport {
private ObjectOutputStream output;
[code]....
View Replies
View Related
Feb 28, 2015
I want to reverse a String that is input
This is what I have tried so far
public class ReverseStringTest {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("Enter String to replace:");
String temp=in.next();
System.out.println("Reverse String is:"+reverseString(temp));
[code]...
But its not working it is return same string that is Input.
View Replies
View Related
Jul 3, 2014
I have a program i m not sure how to implement :
(Square numbers) Find the first ten square numbers that are greater than Long.MAX_VALUE . A square number is a number in the form of n 2 . For example, 4, 9, and 16 are square numbers. Find an efficient approach to run your program fast.
I found two ways of solving this but i think both are way inefficient :
-A square number can be divided in lesser square numbers :
what's the square of 36 ? 36 is 2 * 3 * 2 * 3 => 4 * 9 => square is 2 * 3
-second option is to estimate a number and increase it or decrease it based on how close that number * number is to the BigInteger starting number , as as it gets closer the delta gets smaller until it gets to 1
View Replies
View Related
Sep 2, 2014
I'm trying to read a .xlsx file using Apache Poi on Eclipse and store the data into an ArrayList.
My code :
import org.apache.poi.ss.usermodel.*;
import java.io.*;
import java.util.*;
public class parseReadFiles
{
public static void main(String[] args) {
[Code] ....
I keep getting a FileNotFoundException: Users/Divjot/Desktop/first.xlsx (No such file or directory). I've tried different combinations of file names and paths but can't get the program to find it. Should the file be stored in a special place or should the class path be different?
View Replies
View Related
Feb 25, 2015
I have the Java Development Kit downloaded in my C file and my book tells me to compile the program I need to open command windowand change the directory where the program is stored. I tried the command cd to change directory and received this message "The system cannot find the path specified."
I checked the Environment Variables on Windows 7 and the Path says: C:Program Files (x86)Javajre1.8.0_31in
This is after many tries and i still can't change directory and i keep getting the same message.
View Replies
View Related
Jul 23, 2014
I have written the below program and while compiling i am getting error. The program and error details goes as follows,
//compute distance of light travels using Java long variable.
class Light {
public static void main(String args[]) {
int lightspeed;
long days;
long seconds;
long distance;
[code]....
I have given the Java file name as 'Light.java'. I have also verified the availability of the java file and compilation path. both are matching. Also, Java file name and class name defined are also same.
View Replies
View Related
Apr 12, 2014
I have to find the average, highest, and lowest numbers in an array. I already have the average and highest, and I thought I could find the lowest number the same way I found the highest, but it's not working. It just keeps coming out to 0. I've tried out different ways, but I want to see if there are better ways than doing MAX_VALUE for the lowest, then looping it through.
import java.util.Scanner;
public class Test_Scores {
public static void main(String[] args) {
//array,scanner,values
[Code].....
View Replies
View Related