diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-01-18 08:58:27 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-18 08:58:27 +0000 |
| commit | 52f3516552615dad1ad7566fd5934fca2914faaf (patch) | |
| tree | dd57748653cc360b3f483f12d6821994f92cf721 /challenge-147/abigail/java | |
| parent | 9c9cb3dcb25537525090902ca4b8d10ae17e8960 (diff) | |
| parent | d2faecf9b3a1517b6303c84d23b35a6c26789fda (diff) | |
| download | perlweeklychallenge-club-52f3516552615dad1ad7566fd5934fca2914faaf.tar.gz perlweeklychallenge-club-52f3516552615dad1ad7566fd5934fca2914faaf.tar.bz2 perlweeklychallenge-club-52f3516552615dad1ad7566fd5934fca2914faaf.zip | |
Merge pull request #5533 from Abigail/abigail/week-147
Abigail/week 147
Diffstat (limited to 'challenge-147/abigail/java')
| -rw-r--r-- | challenge-147/abigail/java/ch-1.java | 54 | ||||
| -rw-r--r-- | challenge-147/abigail/java/ch-2.java | 32 |
2 files changed, 86 insertions, 0 deletions
diff --git a/challenge-147/abigail/java/ch-1.java b/challenge-147/abigail/java/ch-1.java new file mode 100644 index 0000000000..9b3b57be9e --- /dev/null +++ b/challenge-147/abigail/java/ch-1.java @@ -0,0 +1,54 @@ +// +// See https://theweeklychallenge.org/blog/perl-weekly-challenge-147 +// + +// +// Run as: ln ch-1.java ch1.java; javac ch1.java; java ch1 +// + +import java.util.*; +import java.util.ArrayList; + +public class ch1 { + public static boolean is_prime (int p) { + if (p == 2) {return true;} + if (p % 2 == 0) {return false;} + for (int i = 3; i * i <= p; i += 2) { + if (p % i == 0) {return false;} + } + return (true); + } + + public static void main (String [] args) { + ArrayList <Integer> todo = new ArrayList <Integer> (); + todo . add (2); + todo . add (3); + todo . add (5); + todo . add (7); + for (int p: todo) { + System . out . printf ("%d ", p); + } + int count = 20 - todo . size (); + int pow = 10; + main: + while (todo . size () > 0) { + ArrayList <Integer> new_todo = new ArrayList <Integer> (); + for (int d = 1; d <= 9; d ++) { + for (int p: todo) { + int candidate = d * pow + p; + if (is_prime (candidate)) { + System . out . printf ("%d ", candidate); + new_todo . add (candidate); + count --; + if (count <= 0) { + break main; + } + } + } + } + pow = pow * 10; + todo = new_todo; + } + System . out . print ("\n"); + } +} diff --git a/challenge-147/abigail/java/ch-2.java b/challenge-147/abigail/java/ch-2.java new file mode 100644 index 0000000000..5469775b97 --- /dev/null +++ b/challenge-147/abigail/java/ch-2.java @@ -0,0 +1,32 @@ +// +// See https://theweeklychallenge.org/blog/perl-weekly-challenge-147 +// + +// +// Run as: ln ch-2.java ch2.java; javac ch2.java; java ch2 +// + +import java.util.*; + +public class ch2 { + public static void main (String [] args) { + int p = 0; + int n = 0; + Map <Integer, Boolean> pentagon = new Hashtable <Integer, Boolean> (); + boolean done = false; + while (true) { + p += n + n + n + 1; + n ++; + pentagon . put (p, true); + for (Map . Entry <Integer, Boolean> entry: pentagon . entrySet ()) { + Integer seen = entry . getKey (); + if (seen + seen < p && + pentagon . containsKey (p - seen) && + pentagon . containsKey (p - seen - seen)) { + System . out . printf ("%d %d\n", seen, p - seen); + return; + } + } + } + } +} |
