diff options
| author | Walt Mankowski <waltman@pobox.com> | 2022-07-17 10:56:32 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-17 10:56:32 -0400 |
| commit | 45f08a5e1866678d6ac9e42e30afd3a1d5d53fe6 (patch) | |
| tree | 3f77242a19900a639e6cbc7e6074958bfc465c35 /challenge-173/mohammad-anwar/java | |
| parent | 37698ededed833b0c0d49ac0e44d5d01025e8b0e (diff) | |
| parent | ef0acd3af69b9cc99dea234b2ab4670e52bb506e (diff) | |
| download | perlweeklychallenge-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.java | 50 | ||||
| -rw-r--r-- | challenge-173/mohammad-anwar/java/theweeklychallenge/SylvesterSequence.java | 65 |
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); + } +} |
