1
+ package _728 ;
2
+
3
+ import java .util .ArrayList ;
4
+ import java .util .List ;
5
+
6
+ public class Solution {
7
+ public List <Integer > selfDividingNumbers (int left , int right ) {
8
+
9
+ // // 打表方式
10
+ // int sum = 0;
11
+ // System.out.print("{");
12
+ // for (int i = left; i < right; i++) {
13
+ // int num = i;
14
+ // int div;
15
+ // while (num != 0) {
16
+ // div = num % 10;
17
+ // if (div == 0) {
18
+ // break;
19
+ // }
20
+ // if ((i % div) != 0) {
21
+ // break;
22
+ // }
23
+ // num /= 10;
24
+ // }
25
+ // if (num == 0) {
26
+ // System.out.print(i + ",");
27
+ // sum++;
28
+ // }
29
+ // }
30
+ // System.out.println("}");
31
+ // System.out.println("sum=" + sum);
32
+ // return null;
33
+
34
+ int [] ans = new int [] {1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,11 ,12 ,15 ,22 ,24 ,33 ,36 ,44 ,48 ,55 ,66 ,77 ,88 ,99 ,111 ,112 ,115 ,122 ,124 ,126 ,128 ,
35
+ 132 ,135 ,144 ,155 ,162 ,168 ,175 ,184 ,212 ,216 ,222 ,224 ,244 ,248 ,264 ,288 ,312 ,315 ,324 ,333 ,336 ,366 ,384 ,396 ,412 ,424 ,
36
+ 432 ,444 ,448 ,488 ,515 ,555 ,612 ,624 ,636 ,648 ,666 ,672 ,728 ,735 ,777 ,784 ,816 ,824 ,848 ,864 ,888 ,936 ,999 ,1111 ,1112 ,
37
+ 1113 ,1115 ,1116 ,1122 ,1124 ,1128 ,1131 ,1144 ,1155 ,1164 ,1176 ,1184 ,1197 ,1212 ,1222 ,1224 ,1236 ,1244 ,1248 ,1266 ,
38
+ 1288 ,1296 ,1311 ,1326 ,1332 ,1335 ,1344 ,1362 ,1368 ,1395 ,1412 ,1416 ,1424 ,1444 ,1448 ,1464 ,1488 ,1515 ,1555 ,1575 ,
39
+ 1626 ,1632 ,1644 ,1662 ,1692 ,1715 ,1722 ,1764 ,1771 ,1824 ,1848 ,1888 ,1926 ,1935 ,1944 ,1962 ,2112 ,2122 ,2124 ,2128 ,
40
+ 2136 ,2144 ,2166 ,2184 ,2196 ,2212 ,2222 ,2224 ,2226 ,2232 ,2244 ,2248 ,2262 ,2288 ,2316 ,2322 ,2328 ,2364 ,2412 ,2424 ,
41
+ 2436 ,2444 ,2448 ,2488 ,2616 ,2622 ,2664 ,2688 ,2744 ,2772 ,2824 ,2832 ,2848 ,2888 ,2916 ,3111 ,3126 ,3132 ,3135 ,3144 ,
42
+ 3162 ,3168 ,3171 ,3195 ,3216 ,3222 ,3264 ,3276 ,3288 ,3312 ,3315 ,3324 ,3333 ,3336 ,3339 ,3366 ,3384 ,3393 ,3432 ,3444 ,
43
+ 3492 ,3555 ,3612 ,3624 ,3636 ,3648 ,3666 ,3717 ,3816 ,3864 ,3888 ,3915 ,3924 ,3933 ,3996 ,4112 ,4116 ,4124 ,4128 ,4144 ,
44
+ 4164 ,4172 ,4184 ,4212 ,4224 ,4236 ,4244 ,4248 ,4288 ,4332 ,4344 ,4368 ,4392 ,4412 ,4416 ,4424 ,4444 ,4448 ,4464 ,4488 ,
45
+ 4632 ,4644 ,4824 ,4848 ,4872 ,4888 ,4896 ,4932 ,4968 ,5115 ,5155 ,5355 ,5515 ,5535 ,5555 ,5775 ,6126 ,6132 ,6144 ,6162 ,
46
+ 6168 ,6192 ,6216 ,6222 ,6264 ,6288 ,6312 ,6324 ,6336 ,6366 ,6384 ,6432 ,6444 ,6612 ,6624 ,6636 ,6648 ,6666 ,6696 ,6762 ,
47
+ 6816 ,6864 ,6888 ,6912 ,6966 ,6984 ,7112 ,7119 ,7175 ,7224 ,7266 ,7371 ,7448 ,7476 ,7644 ,7728 ,7777 ,7784 ,8112 ,8128 ,
48
+ 8136 ,8144 ,8184 ,8224 ,8232 ,8248 ,8288 ,8328 ,8424 ,8448 ,8488 ,8496 ,8616 ,8664 ,8688 ,8736 ,8824 ,8832 ,8848 ,8888 ,
49
+ 8928 ,9126 ,9135 ,9144 ,9162 ,9216 ,9288 ,9315 ,9324 ,9333 ,9396 ,9432 ,9612 ,9648 ,9666 ,9864 ,9936 ,9999 };
50
+
51
+ ArrayList <Integer > list = new ArrayList <>(ans .length );
52
+ for (int num : ans ) {
53
+ if (num >= left ) {
54
+ if (num > right ) {
55
+ break ;
56
+ }
57
+ list .add (num );
58
+ }
59
+ }
60
+ return list ;
61
+ }
62
+
63
+ public static void main (String [] args ) {
64
+ Solution solution = new Solution ();
65
+ solution .selfDividingNumbers (1 , 10000 );
66
+ }
67
+ }
0 commit comments