Epic Systems Interview Question
Software Engineer / DevelopersCountry: United States
Interview Type: Written Test
Goldbach's conjecture:
CCpost id: 5725570532900864, Write a function which takes a number as input, verify if is an even number greater than 2 and also print atleast one pair of prime numbers
Well ordered numbers:
CCpost id: 6284835370827776, you have a number of character sequences. Your task is to generate all possible well-ordered word that can be generated by those numbers of given character sequences. And 12998668. Find all the possible passwords, given the length of the password and that it is a well ordered number (159 is well-ordered as 1<5<9)
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package goldbachs.conjecture;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author Krunal
*/
public class GoldbachsConjecture {
static final int goldbachNumber = 100000;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
boolean isEven = evenNumber(goldbachNumber);
if (isEven && goldbachNumber>2) {
List<Integer> listOfPrimeNumbers = new ArrayList();
listOfPrimeNumbers =findPrimeNumbers(goldbachNumber);
int sizeOfList = listOfPrimeNumbers.size();
done:
for (int i = 0; i < ( sizeOfList - 2); i++) {
for (int j = i+1; j < (sizeOfList -1); j++) {
if((listOfPrimeNumbers.get(i) + listOfPrimeNumbers.get(j)) == goldbachNumber){
System.out.println("The pairs of prime numbers for goldbach number are:"+ listOfPrimeNumbers.get(i) +" and "+ listOfPrimeNumbers.get(j) );
}
}
}
} else {
notAGoldbachNumber();
}
}
private static boolean evenNumber(int goldbachNumber) {
if (goldbachNumber % 2 == 1) {
return false;
}
return true;
}
private static void notAGoldbachNumber() {
System.out.println("It's not a Goldbach Number");
}
private static List<Integer> findPrimeNumbers(int goldbachNumber) {
List<Integer> listOfPrimeNumbers = new ArrayList();
int i = 2;
while (i < goldbachNumber) {
if (isPrime(i)) {
listOfPrimeNumbers.add(i);
}
i = i + 1;
}
return listOfPrimeNumbers;
}
private static boolean isPrime(int num) {
if (num % 2 == 0) {
return false;
}
for (int i = 3; i * i < num; i = i + 2) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package goldbachs.conjecture;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author Krunal
*/
public class GoldbachsConjecture {
static final int goldbachNumber = 100;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
boolean isEven = evenNumber(goldbachNumber);
if (isEven && goldbachNumber>2) {
List<Integer> listOfPrimeNumbers = new ArrayList();
listOfPrimeNumbers =findPrimeNumbers(goldbachNumber);
int sizeOfList = listOfPrimeNumbers.size();
done:
for (int i = 0; i < ( sizeOfList - 1); i++) {
for (int j = i+1; j < (sizeOfList ); j++) {
if((listOfPrimeNumbers.get(i) + listOfPrimeNumbers.get(j)) == goldbachNumber){
System.out.println("The pairs of prime numbers for goldbach number are:"+ listOfPrimeNumbers.get(i) +" and "+ listOfPrimeNumbers.get(j) );
}
}
}
for (int i = 0; i < ( sizeOfList - 1); i++) {
System.out.println("The prime numbers for goldbach number are:"+ listOfPrimeNumbers.get(i));
}
} else {
notAGoldbachNumber();
}
}
private static boolean evenNumber(int goldbachNumber) {
if (goldbachNumber % 2 == 1) {
return false;
}
return true;
}
private static void notAGoldbachNumber() {
System.out.println("It's not a Goldbach Number");
}
private static List<Integer> findPrimeNumbers(int goldbachNumber) {
List<Integer> listOfPrimeNumbers = new ArrayList();
int i = 2;
while (i < goldbachNumber) {
if (isPrime(i)) {
listOfPrimeNumbers.add(i);
}
i = i + 1;
}
return listOfPrimeNumbers;
}
private static boolean isPrime(int num) {
if(num == 3 ){
return true;
}
if (num % 2 == 0) {
return false;
}
for (int i = 3; i * i < num; i = i + 2) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
package test;
public class GoldmanCon {
public static void main(String[] args) {
System.out.println(isGoldmanNum(10000));
//System.out.println(isPrime(9941));
//System.out.println(isPrime(23));
}
public static boolean isGoldmanNum(int num) {
if (num % 2 == 0 && num > 2) {
for (int i = 2; i < num/2; i++) {
if (isPrime(i)) {
int diff = num - i;
if (isPrime(diff)) {
System.out.println(diff);
System.out.println(i);
return true;
}
}
}
}
return false;
}
public static boolean isPrime(int prNum) {
int len = (int) Math.sqrt((double) prNum);
for (int i = 2; i <= len; i++) {
if (prNum % i == 0) {
return false;
}
}
return true;
}
}
- assassin December 28, 2014