mirror of
https://github.com/Xevion/contest.git
synced 2025-12-13 06:11:14 -06:00
Sets questions, data, programs finished
This commit is contained in:
1
other/Sets/.gitignore
vendored
Normal file
1
other/Sets/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.idea/**
|
||||||
11
other/Sets/Sets.iml
Normal file
11
other/Sets/Sets.iml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
6
other/Sets/out/production/Sets/lab07b.dat
Normal file
6
other/Sets/out/production/Sets/lab07b.dat
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
1 5 9 4 6 8 12
|
||||||
|
3 5 7 17 29 4 6 56 72
|
||||||
|
3 6 12 2 28 6
|
||||||
|
4 4 4 4 4 4 4 4
|
||||||
|
1 1 1 1 1 1 1 1
|
||||||
|
1 2 3 4 5 6 7 8 9
|
||||||
6
other/Sets/out/production/Sets/lab07c.dat
Normal file
6
other/Sets/out/production/Sets/lab07c.dat
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
1 2 3 4 5
|
||||||
|
4 5 6 7 8
|
||||||
|
10 11 12 13 14 15 16 17
|
||||||
|
11 13 15 17 19 21 23
|
||||||
|
4 5 5 6 76 7 7 8 8 8 8 8
|
||||||
|
23 3 4 3 5 3 53 5 46 46 4 6 5 3 4
|
||||||
BIN
other/Sets/questions/lab07a.doc
Normal file
BIN
other/Sets/questions/lab07a.doc
Normal file
Binary file not shown.
BIN
other/Sets/questions/lab07b.doc
Normal file
BIN
other/Sets/questions/lab07b.doc
Normal file
Binary file not shown.
BIN
other/Sets/questions/lab07c.doc
Normal file
BIN
other/Sets/questions/lab07c.doc
Normal file
Binary file not shown.
18
other/Sets/src/Lab07a.java
Normal file
18
other/Sets/src/Lab07a.java
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
//© A+ Computer Science - www.apluscompsci.com
|
||||||
|
//Name - Ryan Walters
|
||||||
|
//Date - 15 September 2020
|
||||||
|
//Class - Computer Science II PreAP
|
||||||
|
//Lab - Sets 07a
|
||||||
|
|
||||||
|
import static java.lang.System.out;
|
||||||
|
|
||||||
|
public class Lab07a
|
||||||
|
{
|
||||||
|
public static void main(String[] args)
|
||||||
|
{
|
||||||
|
String list = "a b c d e f g h a b c d e f g h i j k";
|
||||||
|
System.out.println("Original List : " + list);
|
||||||
|
out.println("Uniques : " + UniquesDupes.getUniques(list));
|
||||||
|
out.println("Dupes : " + UniquesDupes.getDupes(list) + "\n\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
67
other/Sets/src/Lab07b.java
Normal file
67
other/Sets/src/Lab07b.java
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
//© A+ Computer Science - www.apluscompsci.com
|
||||||
|
//Name - Ryan Walters
|
||||||
|
//Date - 15 September 2020
|
||||||
|
//Class - Computer Science II PreAP
|
||||||
|
//Lab - Sets 07b
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Scanner;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
|
||||||
|
import static java.lang.System.out;
|
||||||
|
|
||||||
|
public class Lab07b
|
||||||
|
{
|
||||||
|
public static void main(String[] args) throws IOException
|
||||||
|
{
|
||||||
|
// Get input data
|
||||||
|
Scanner scanner = new Scanner(new File("./src/lab07b.dat"));
|
||||||
|
ArrayList<Integer> input = new ArrayList<>();
|
||||||
|
while (scanner.hasNextInt()) input.add(scanner.nextInt());
|
||||||
|
|
||||||
|
// Instantiate output arrays
|
||||||
|
Set<Integer> evens = new TreeSet<>();
|
||||||
|
Set<Integer> odds = new TreeSet<>();
|
||||||
|
Set<Integer> perfects = new TreeSet<>();
|
||||||
|
|
||||||
|
// Read and separate
|
||||||
|
for (Integer number : input) {
|
||||||
|
if (number % 2 == 0)
|
||||||
|
evens.add(number);
|
||||||
|
else
|
||||||
|
odds.add(number);
|
||||||
|
|
||||||
|
if (isPerfect(number))
|
||||||
|
perfects.add(number);
|
||||||
|
}
|
||||||
|
|
||||||
|
out.println("ODDS: " + odds + "\nEvens: " + evens + "\nPerfects: " + perfects);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isPerfect(int number)
|
||||||
|
{
|
||||||
|
int sum = 0;
|
||||||
|
Set<Integer> divisors = getDivisors(number);
|
||||||
|
for (Integer divisor : divisors) sum += divisor;
|
||||||
|
return number == sum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Set<Integer> getDivisors(int number)
|
||||||
|
{
|
||||||
|
Set<Integer> divisors = new TreeSet<>();
|
||||||
|
divisors.add(1);
|
||||||
|
|
||||||
|
for (int i = 2; i <= Math.sqrt(number); i++) {
|
||||||
|
double quotient = number / (float) i;
|
||||||
|
if (quotient % 1 == 0) {
|
||||||
|
divisors.add(i);
|
||||||
|
divisors.add((int) quotient);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return divisors;
|
||||||
|
}
|
||||||
|
}
|
||||||
85
other/Sets/src/Lab07c.java
Normal file
85
other/Sets/src/Lab07c.java
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
//© A+ Computer Science - www.apluscompsci.com
|
||||||
|
//Name - Ryan Walters
|
||||||
|
//Date - 15 September 2020
|
||||||
|
//Class - Computer Science II PreAP
|
||||||
|
//Lab - Sets 07c
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Scanner;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
|
||||||
|
import static java.lang.System.out;
|
||||||
|
|
||||||
|
public class Lab07c
|
||||||
|
{
|
||||||
|
public static void main(String[] args) throws IOException
|
||||||
|
{
|
||||||
|
// Get input data
|
||||||
|
Scanner scanner = new Scanner(new File("./src/lab07b.dat"));
|
||||||
|
while (scanner.hasNextLine()) {
|
||||||
|
Set<Integer> a = getIntegerSet(scanner.nextLine());
|
||||||
|
Set<Integer> b = getIntegerSet(scanner.nextLine());
|
||||||
|
|
||||||
|
out.println("Set one: " + a + "\nSet two: " + b);
|
||||||
|
out.println("\nunion - " + union(a, b));
|
||||||
|
out.println("intersection - " + intersection(a, b));
|
||||||
|
out.println("difference A-B - " + difference(a, b));
|
||||||
|
out.println("difference B-A - " + difference(b, a));
|
||||||
|
out.println("symmetric difference - " + symmetric(a, b));
|
||||||
|
|
||||||
|
// Don't add unnecessary newline on the final sets processing
|
||||||
|
if(scanner.hasNextLine())
|
||||||
|
out.println();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param line A string containing integers
|
||||||
|
* @return a Set containing parsed integers from the given String
|
||||||
|
*/
|
||||||
|
public static Set<Integer> getIntegerSet(String line) {
|
||||||
|
Scanner scanner = new Scanner(line);
|
||||||
|
Set<Integer> set = new TreeSet<>();
|
||||||
|
while (scanner.hasNextInt())
|
||||||
|
set.add(scanner.nextInt());
|
||||||
|
return set;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Integers that are in either set.
|
||||||
|
*/
|
||||||
|
public static Set<Integer> union(Set<Integer> a, Set<Integer> b) {
|
||||||
|
Set<Integer> union = new TreeSet<>(a);
|
||||||
|
union.addAll(b);
|
||||||
|
return union;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Integers that are in both Sets
|
||||||
|
*/
|
||||||
|
public static Set<Integer> intersection(Set<Integer> a, Set<Integer> b) {
|
||||||
|
Set<Integer> intersection = new TreeSet<>(a);
|
||||||
|
intersection.retainAll(b);
|
||||||
|
return intersection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Integers that are in Set A but not Set B
|
||||||
|
*/
|
||||||
|
public static Set<Integer> difference(Set<Integer> a, Set<Integer> b) {
|
||||||
|
Set<Integer> difference = new TreeSet<>(a);
|
||||||
|
difference.removeAll(b);
|
||||||
|
return difference;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Integers that appear in either set but NOT both.
|
||||||
|
*/
|
||||||
|
public static Set<Integer> symmetric(Set<Integer> a, Set<Integer> b) {
|
||||||
|
Set<Integer> symmetric = new TreeSet<>(union(a, b));
|
||||||
|
symmetric.removeAll(intersection(a, b));
|
||||||
|
return symmetric;
|
||||||
|
}
|
||||||
|
}
|
||||||
54
other/Sets/src/MathSet.java
Normal file
54
other/Sets/src/MathSet.java
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
//© A+ Computer Science - www.apluscompsci.com
|
||||||
|
//Name - Ryan Walters
|
||||||
|
//Date - 15 September 2020
|
||||||
|
//Class - Computer Science II PreAP
|
||||||
|
//Lab - Sets 07c (MathSet)
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import static java.lang.System.*;
|
||||||
|
|
||||||
|
public class MathSet
|
||||||
|
{
|
||||||
|
private Set<Integer> one;
|
||||||
|
private Set<Integer> two;
|
||||||
|
|
||||||
|
public MathSet()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public MathSet(String o, String t)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<Integer> union()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<Integer> intersection()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<Integer> differenceAMinusB()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<Integer> differenceBMinusA()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<Integer> symmetricDifference()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
return "Set one " + one + "\n" + "Set two " + two + "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
30
other/Sets/src/OddEvenSets.java
Normal file
30
other/Sets/src/OddEvenSets.java
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
//© A+ Computer Science - www.apluscompsci.com
|
||||||
|
//Name -
|
||||||
|
//Date -
|
||||||
|
//Class -
|
||||||
|
//Lab -
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Scanner;
|
||||||
|
import static java.lang.System.*;
|
||||||
|
|
||||||
|
public class OddEvenSets
|
||||||
|
{
|
||||||
|
private Set<Integer> odds;
|
||||||
|
private Set<Integer> evens;
|
||||||
|
|
||||||
|
public OddEvenSets()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public OddEvenSets(String line)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
return "ODDS : " + odds + "\nEVENS : " + evens + "\n\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
37
other/Sets/src/UniquesDupes.java
Normal file
37
other/Sets/src/UniquesDupes.java
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
//© A+ Computer Science - www.apluscompsci.com
|
||||||
|
//Name -
|
||||||
|
//Date -
|
||||||
|
//Class -
|
||||||
|
//Lab -
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import static java.lang.System.*;
|
||||||
|
|
||||||
|
public class UniquesDupes
|
||||||
|
{
|
||||||
|
public static Set<String> getUniques(String input)
|
||||||
|
{
|
||||||
|
return new TreeSet<String>(Arrays.asList(input.split("\\s+")));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Set<String> getDupes(String input)
|
||||||
|
{
|
||||||
|
Set<String> consider = new TreeSet<String>(); // Values that have been seen at least once.
|
||||||
|
Set<String> dupes = new TreeSet<String>(); // Values that appear two or more times.
|
||||||
|
|
||||||
|
for (String substring : input.split("\\s+")) {
|
||||||
|
// One has already been seen, add to dupes set.
|
||||||
|
if (consider.contains(substring))
|
||||||
|
dupes.add(substring);
|
||||||
|
else
|
||||||
|
// Never been seen before, add to 'considering' set
|
||||||
|
consider.add(substring);
|
||||||
|
}
|
||||||
|
|
||||||
|
return dupes;
|
||||||
|
}
|
||||||
|
}
|
||||||
6
other/Sets/src/lab07b.dat
Normal file
6
other/Sets/src/lab07b.dat
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
1 5 9 4 6 8 12
|
||||||
|
3 5 7 17 29 4 6 56 72
|
||||||
|
3 6 12 2 28 6
|
||||||
|
4 4 4 4 4 4 4 4
|
||||||
|
1 1 1 1 1 1 1 1
|
||||||
|
1 2 3 4 5 6 7 8 9
|
||||||
6
other/Sets/src/lab07c.dat
Normal file
6
other/Sets/src/lab07c.dat
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
1 2 3 4 5
|
||||||
|
4 5 6 7 8
|
||||||
|
10 11 12 13 14 15 16 17
|
||||||
|
11 13 15 17 19 21 23
|
||||||
|
4 5 5 6 76 7 7 8 8 8 8 8
|
||||||
|
23 3 4 3 5 3 53 5 46 46 4 6 5 3 4
|
||||||
Reference in New Issue
Block a user