diff options
| author | Abigail <abigail@abigail.be> | 2021-11-26 00:08:20 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-11-27 14:30:25 +0100 |
| commit | 2e7a94b0d7ffd661bc2ead718e2aac99f1de68d2 (patch) | |
| tree | 6a6474a4c0b8567a5db4ea0fe1888b70aa80cf48 /challenge-133/abigail/java/ch-2.java | |
| parent | a0298e354570ba3ebf90abaeaf9f2af3b58702e7 (diff) | |
| download | perlweeklychallenge-club-2e7a94b0d7ffd661bc2ead718e2aac99f1de68d2.tar.gz perlweeklychallenge-club-2e7a94b0d7ffd661bc2ead718e2aac99f1de68d2.tar.bz2 perlweeklychallenge-club-2e7a94b0d7ffd661bc2ead718e2aac99f1de68d2.zip | |
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 --; + } + } + } +} |
