diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-11-27 17:50:14 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-27 17:50:14 +0000 |
| commit | 9b28980cca56c7a1a394363397ba947df25dd296 (patch) | |
| tree | 5265dc1a776111df8a0f45e4f5e47ba99d5e3c48 /challenge-133/abigail/java/ch-2.java | |
| parent | 0404c5132c7781c03f0246c083d1c3efa9a7c893 (diff) | |
| parent | 2e7a94b0d7ffd661bc2ead718e2aac99f1de68d2 (diff) | |
| download | perlweeklychallenge-club-9b28980cca56c7a1a394363397ba947df25dd296.tar.gz perlweeklychallenge-club-9b28980cca56c7a1a394363397ba947df25dd296.tar.bz2 perlweeklychallenge-club-9b28980cca56c7a1a394363397ba947df25dd296.zip | |
Merge pull request #5286 from Abigail/abigail/week-133
More solutions for week 133
Diffstat (limited to 'challenge-133/abigail/java/ch-2.java')
| -rw-r--r-- | challenge-133/abigail/java/ch-2.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/challenge-133/abigail/java/ch-2.java b/challenge-133/abigail/java/ch-2.java new file mode 100644 index 0000000000..335a889d75 --- /dev/null +++ b/challenge-133/abigail/java/ch-2.java @@ -0,0 +1,52 @@ +// +// See ../README.md +// + +// +// Run as: ln ch-2.java ch2.java; javac ch2.java; java ch2 < input-file +// + +import java.util.*; + +public class ch2 { + public static int base = 10; + public static int count = 10; + public static int [] small_primes = + {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31}; + + public static int digitsum (int number) { + int sum = 0; + while (number > 0) { + sum += number % base; + number /= base; + } + return (sum); + } + + public static void main (String [] args) { + int number = 1; + int c = count; + while (c > 0) { + int ds_n = digitsum (++ number); + int ds_f = 0; + int n = 0; + int copy = number; + for (int i = 0; i < small_primes . length && copy > 1; i ++) { + int prime = small_primes [i]; + while (copy % prime == 0) { + ds_f += digitsum (prime); + n ++; + copy /= prime; + } + } + if (copy > 1) { + ds_f += digitsum (copy); + n ++; + } + if (n > 1 && ds_n == ds_f) { + System . out . println (number); + c --; + } + } + } +} |
