aboutsummaryrefslogtreecommitdiff
path: root/challenge-138/abigail/java/ch-2.java
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-11-14 19:04:39 +0100
committerAbigail <abigail@abigail.be>2021-11-14 19:05:04 +0100
commit522e70815e8a79ccd7f628768e6699bf54747dd5 (patch)
treed8e23b976fee0c9e07c5636d3acd1e0619f223fa /challenge-138/abigail/java/ch-2.java
parentc1db8bac0eaafcc7e7c94d712ce24dc69b776c53 (diff)
downloadperlweeklychallenge-club-522e70815e8a79ccd7f628768e6699bf54747dd5.tar.gz
perlweeklychallenge-club-522e70815e8a79ccd7f628768e6699bf54747dd5.tar.bz2
perlweeklychallenge-club-522e70815e8a79ccd7f628768e6699bf54747dd5.zip
Solutions for week 138, part 2 in 14 languages.
Diffstat (limited to 'challenge-138/abigail/java/ch-2.java')
-rw-r--r--challenge-138/abigail/java/ch-2.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/challenge-138/abigail/java/ch-2.java b/challenge-138/abigail/java/ch-2.java
new file mode 100644
index 0000000000..065fd97f4f
--- /dev/null
+++ b/challenge-138/abigail/java/ch-2.java
@@ -0,0 +1,42 @@
+//
+// See ../README.md
+//
+
+//
+// Run as: ln ch-2.java ch2.java; javac ch2.java; java ch2 < input-file
+//
+
+import java.util.*;
+import java.lang.*;
+
+public class ch2 {
+ public static boolean can_split (long target, long number) {
+ if (target > number || target < 0) {return false;}
+ if (target == number) {return true;}
+
+ long pow_10 = 10;
+
+ while (pow_10 <= number) {
+ if (can_split (target - (number % pow_10), number / pow_10)) {
+ return true;
+ }
+ pow_10 *= 10;
+ }
+
+ return false;
+ }
+
+ public static void main (String [] args) {
+ Scanner scanner = new Scanner (System . in);
+ while (scanner . hasNextInt ()) {
+ int number = scanner . nextInt ();
+ int sqrt = (int) Math . round (Math . sqrt (number));
+ if (number > 1 && can_split (sqrt, number)) {
+ System . out . println (1);
+ }
+ else {
+ System . out . println (0);
+ }
+ }
+ }
+}