aboutsummaryrefslogtreecommitdiff
path: root/challenge-173/mohammad-anwar/java
diff options
context:
space:
mode:
authorWalt Mankowski <waltman@pobox.com>2022-07-17 10:56:32 -0400
committerGitHub <noreply@github.com>2022-07-17 10:56:32 -0400
commit45f08a5e1866678d6ac9e42e30afd3a1d5d53fe6 (patch)
tree3f77242a19900a639e6cbc7e6074958bfc465c35 /challenge-173/mohammad-anwar/java
parent37698ededed833b0c0d49ac0e44d5d01025e8b0e (diff)
parentef0acd3af69b9cc99dea234b2ab4670e52bb506e (diff)
downloadperlweeklychallenge-club-45f08a5e1866678d6ac9e42e30afd3a1d5d53fe6.tar.gz
perlweeklychallenge-club-45f08a5e1866678d6ac9e42e30afd3a1d5d53fe6.tar.bz2
perlweeklychallenge-club-45f08a5e1866678d6ac9e42e30afd3a1d5d53fe6.zip
Merge branch 'master' into branch-for-challenge-173-python
Diffstat (limited to 'challenge-173/mohammad-anwar/java')
-rw-r--r--challenge-173/mohammad-anwar/java/theweeklychallenge/EstheticNumber.java50
-rw-r--r--challenge-173/mohammad-anwar/java/theweeklychallenge/SylvesterSequence.java65
2 files changed, 115 insertions, 0 deletions
diff --git a/challenge-173/mohammad-anwar/java/theweeklychallenge/EstheticNumber.java b/challenge-173/mohammad-anwar/java/theweeklychallenge/EstheticNumber.java
new file mode 100644
index 0000000000..bb98b29fd9
--- /dev/null
+++ b/challenge-173/mohammad-anwar/java/theweeklychallenge/EstheticNumber.java
@@ -0,0 +1,50 @@
+package theweeklychallenge;
+
+/*
+
+Week 173:
+
+ https://theweeklychallenge.org/blog/perl-weekly-challenge-173
+
+Task #1: Esthetic Number
+
+ You are given a positive integer, $n.
+
+ Write a script to find out if the given number is Esthetic Number.
+
+Compile and Run:
+
+ mohammad-anwar/java$ javac theweeklychallenge/EstheticNumber.java
+ mohammad-anwar/java$ java theweeklychallenge.EstheticNumber
+
+*/
+
+import java.lang.Math;
+import junit.framework.TestCase;
+import static junit.framework.Assert.*;
+
+public class EstheticNumber extends TestCase {
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(
+ theweeklychallenge.EstheticNumber.class);
+ }
+
+ public void testEstheticNumber() {
+ assertTrue(isEstheticNumber(5456));
+ assertFalse(isEstheticNumber(120));
+ }
+
+ public static boolean isEstheticNumber(int n) {
+ String s = Integer.toString(n);
+ int i = 1;
+ while (i < s.length()) {
+ if (Math.abs((int)(s.charAt(i-1)) - (int)(s.charAt(i))) != 1) {
+ return false;
+ }
+ i++;
+ }
+
+ return true;
+ }
+}
diff --git a/challenge-173/mohammad-anwar/java/theweeklychallenge/SylvesterSequence.java b/challenge-173/mohammad-anwar/java/theweeklychallenge/SylvesterSequence.java
new file mode 100644
index 0000000000..8f4400e4e0
--- /dev/null
+++ b/challenge-173/mohammad-anwar/java/theweeklychallenge/SylvesterSequence.java
@@ -0,0 +1,65 @@
+package theweeklychallenge;
+
+/*
+
+Week 173:
+
+ https://theweeklychallenge.org/blog/perl-weekly-challenge-173
+
+Task #2: Sylvester’s sequence
+
+ Write a script to generate first 10 members of Sylvester's sequence.
+
+Compile and Run:
+
+ mohammad-anwar/java$ javac theweeklychallenge/SylvesterSequence.java
+ mohammad-anwar/java$ java theweeklychallenge.SylvesterSequence
+
+*/
+
+import java.lang.Math;
+import java.util.Arrays;
+import java.util.ArrayList;
+import java.math.BigInteger;
+import junit.framework.TestCase;
+import static junit.framework.Assert.*;
+
+public class SylvesterSequence extends TestCase {
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(
+ theweeklychallenge.SylvesterSequence.class);
+ }
+
+ public void testSylvesterSequence() {
+ BigInteger exp[] = {
+ BigInteger.valueOf(2)
+ ,BigInteger.valueOf(3)
+ ,BigInteger.valueOf(7)
+ ,BigInteger.valueOf(43)
+ ,BigInteger.valueOf(1807)
+ ,BigInteger.valueOf(3263443)
+ ,new BigInteger("10650056950807")
+ ,new BigInteger("113423713055421844361000443")
+ ,new BigInteger("12864938683278671740537145998360961546653259485195807")
+ ,new BigInteger("165506647324519964198468195444439180017513152706377497841851388766535868639572406808911988131737645185443")
+ };
+
+ BigInteger got[] = sylvesterSequence(10);
+
+ assertTrue(Arrays.equals(exp, got));
+ }
+
+ public static BigInteger[] sylvesterSequence(int n) {
+ ArrayList<BigInteger> _ss = new ArrayList<BigInteger>();
+ _ss.add(BigInteger.valueOf(2));
+ int i = 1;
+ while (i++ <= n - 1) {
+ BigInteger m = _ss.get(_ss.size() - 1);
+ _ss.add((m.multiply(m.subtract(BigInteger.valueOf(1)))).add(BigInteger.valueOf(1)));
+ }
+
+ BigInteger[] ss = new BigInteger[_ss.size()];
+ return _ss.toArray(ss);
+ }
+}