diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-06-19 18:21:17 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-19 18:21:17 +0100 |
| commit | 70efddf4cea00f4ef6a8747cbd8a361f4ce23239 (patch) | |
| tree | 30a0cb7275caef38f866108c835b02c72c04545e /challenge-169/adam-russell/java/ch-1.java | |
| parent | c2c685bba24efe61916cf11bebed48cdd16a524e (diff) | |
| parent | ff723a578fd036478961280814c7e427b8634394 (diff) | |
| download | perlweeklychallenge-club-70efddf4cea00f4ef6a8747cbd8a361f4ce23239.tar.gz perlweeklychallenge-club-70efddf4cea00f4ef6a8747cbd8a361f4ce23239.tar.bz2 perlweeklychallenge-club-70efddf4cea00f4ef6a8747cbd8a361f4ce23239.zip | |
Merge pull request #6287 from adamcrussell/challenge-169
initial commit
Diffstat (limited to 'challenge-169/adam-russell/java/ch-1.java')
| -rw-r--r-- | challenge-169/adam-russell/java/ch-1.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/challenge-169/adam-russell/java/ch-1.java b/challenge-169/adam-russell/java/ch-1.java new file mode 100644 index 0000000000..09cdd62612 --- /dev/null +++ b/challenge-169/adam-russell/java/ch-1.java @@ -0,0 +1,44 @@ +import java.util.ArrayList; + +class Brilliant{ + private static ArrayList primeFactors(long n){ + ArrayList factors = new ArrayList(); + while (n % 2 == 0){ + factors.add(new Long(2)); + n = n / 2; + } + for(long i = 3; i <= Math.sqrt(n); i = i + 2){ + while (n % i == 0){ + factors.add(new Long(i)); + n = n / i; + } + } + if(n > 2) + factors.add(new Long(n)); + return factors; + } + + private static boolean isBrilliant(int n){ + ArrayList factors = primeFactors(n); + return factors.size() == 2 && ((Long)factors.get(0)).toString().length() == ((Long)factors.get(1)).toString().length(); + } + + public static ArrayList nBrilliants(int n){ + ArrayList brilliants = new ArrayList(); + int i = 0; + do{ + i++; + if(isBrilliant(i)) + brilliants.add(new Integer(i)); + }while(brilliants.size() < n); + return brilliants; + } + + public static void main(String[] args){ + ArrayList brilliants = Brilliant.nBrilliants(20); + for(int i = 0; i < brilliants.size() - 1; i++){ + System.out.print(brilliants.get(i) + ", "); + } + System.out.println(brilliants.get(brilliants.size() - 1)); + } +}
\ No newline at end of file |
