A self-dividing number is a number that is divisible by every digit it contains.
- For example,
128is a self-dividing number because128 % 1 == 0,128 % 2 == 0, and128 % 8 == 0.
A self-dividing number is not allowed to contain the digit zero.
Given two integers left and right, return a list of all the self-dividing numbers in the range [left, right].
Example 1:
Input: left = 1, right = 22 Output: [1,2,3,4,5,6,7,8,9,11,12,15,22]
Example 2:
Input: left = 47, right = 85 Output: [48,55,66,77]
Constraints:
1 <= left <= right <= 104
Solution:
In JS:
var selfDividingNumbers = function(left, right) {
const arr = [];
for(let index = left; index <= right; index++){
let num = index;
let count = 0;
let numOfDigit = 0;
while(num != 0){
let digit = num%10;
numOfDigit++;
if(index%digit == 0) {
count++;
}
num = parseInt(num/10);
}
if(numOfDigit === count){
arr.push(index);
}
}
return arr;
};
No comments:
Post a Comment