@@ -65,33 +65,67 @@ Therefore, the k-beauty is 2.
65
65
``` python
66
66
class Solution :
67
67
def divisorSubstrings (self , num : int , k : int ) -> int :
68
- cnt = 0
68
+ ans = 0
69
69
s = str (num)
70
70
for i in range (len (s) - k + 1 ):
71
- tmp = int (s[i: i + k])
72
- if tmp != 0 and num % tmp == 0 :
73
- cnt += 1
74
- return cnt
71
+ t = int (s[i: i + k])
72
+ if t and num % t == 0 :
73
+ ans += 1
74
+ return ans
75
75
```
76
76
77
77
### ** Java**
78
78
79
79
``` java
80
80
class Solution {
81
81
public int divisorSubstrings (int num , int k ) {
82
- int cnt = 0 ;
83
- String s = String . valueOf( num) ;
84
- for (int i = 0 ; i <= s. length() - k; i ++ ) {
85
- int tmp = Integer . parseInt(s. substring(i, i + k));
86
- if (tmp != 0 && num % tmp == 0 ) {
87
- cnt ++ ;
82
+ int ans = 0 ;
83
+ String s = " " + num;
84
+ for (int i = 0 ; i < s. length() - k + 1 ; ++ i ) {
85
+ int t = Integer . parseInt(s. substring(i, i + k));
86
+ if (t != 0 && num % t == 0 ) {
87
+ ++ ans ;
88
88
}
89
89
}
90
- return cnt ;
90
+ return ans ;
91
91
}
92
92
}
93
93
```
94
94
95
+ ### ** C++**
96
+
97
+ ``` cpp
98
+ class Solution {
99
+ public:
100
+ int divisorSubstrings(int num, int k) {
101
+ int ans = 0;
102
+ string s = to_string(num);
103
+ for (int i = 0; i < s.size() - k + 1; ++i)
104
+ {
105
+ int t = stoi(s.substr(i, k));
106
+ ans += t && num % t == 0;
107
+ }
108
+ return ans;
109
+ }
110
+ };
111
+ ```
112
+
113
+ ### **Go**
114
+
115
+ ```go
116
+ func divisorSubstrings(num int, k int) int {
117
+ ans := 0
118
+ s := strconv.Itoa(num)
119
+ for i := 0; i < len(s)-k+1; i++ {
120
+ t, _ := strconv.Atoi(s[i : i+k])
121
+ if t > 0 && num%t == 0 {
122
+ ans++
123
+ }
124
+ }
125
+ return ans
126
+ }
127
+ ```
128
+
95
129
### ** TypeScript**
96
130
97
131
``` ts
0 commit comments