aboutsummaryrefslogtreecommitdiff
path: root/challenge-141/abigail/java/ch-2.java
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-12-01 20:33:46 +0000
committerGitHub <noreply@github.com>2021-12-01 20:33:46 +0000
commite79ffb4570f35bc49bb493b98df3ca7653739f3a (patch)
tree9a08f4350abf49525b83199e00b2db0efd0d161d /challenge-141/abigail/java/ch-2.java
parent4d52f1a3de425bab672261c2e4233b035d1d1e5f (diff)
parent44bcd3ae0c35b887bd579e60c17198360f3497c3 (diff)
downloadperlweeklychallenge-club-e79ffb4570f35bc49bb493b98df3ca7653739f3a.tar.gz
perlweeklychallenge-club-e79ffb4570f35bc49bb493b98df3ca7653739f3a.tar.bz2
perlweeklychallenge-club-e79ffb4570f35bc49bb493b98df3ca7653739f3a.zip
Merge pull request #5313 from Abigail/abigail/week-141
Solutions week 141
Diffstat (limited to 'challenge-141/abigail/java/ch-2.java')
-rw-r--r--challenge-141/abigail/java/ch-2.java37
1 files changed, 37 insertions, 0 deletions
diff --git a/challenge-141/abigail/java/ch-2.java b/challenge-141/abigail/java/ch-2.java
new file mode 100644
index 0000000000..bb03482e67
--- /dev/null
+++ b/challenge-141/abigail/java/ch-2.java
@@ -0,0 +1,37 @@
+//
+// 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 substrings (String n, int m, int prefix, int max) {
+ if (n . length () == 0) {
+ return prefix > -1 &&
+ prefix < max &&
+ prefix % m == 0 ? 1 : 0;
+ }
+
+ int fc = Integer . parseInt (n . substring (0, 1));
+ int n_prefix = 10 * (prefix == -1 ? 0 : prefix) + fc;
+ String tail = n . substring (1, n. length ());
+
+ return substrings (tail, m, n_prefix, max) +
+ substrings (tail, m, prefix, max);
+ }
+
+
+ public static void main (String [] args) {
+ Scanner scanner = new Scanner (System . in);
+ while (scanner . hasNextInt ()) {
+ int n = scanner . nextInt ();
+ int m = scanner . nextInt ();
+ System . out . println (
+ substrings (Integer . toString (n), m, -1, n));
+ }
+ }
+}