JavaScriptで範囲内の連続した数字を見つける
連続桁数
番号の各桁が前の桁より1つ多い場合に限り、番号には連続した桁があります。
問題
範囲を指定する正確に2つの要素の配列arrを受け取るJavaScript関数を作成する必要があります。
この関数は、連続する数字を持つarr(範囲を含む)の範囲内のすべての整数のソートされた配列を返す必要があります。
たとえば、関数への入力が-
の場合const arr = [1000, 13000];
その場合、出力は-
になります。const output = [1234, 2345, 3456, 4567, 5678, 6789, 12345];
例
このためのコードは-
になりますconst arr = [1000, 13000];
const sequentialDigits = ([low, high] = [1, 1]) => {
const findCount = (num) => {
let count = 0;
while(num > 0){
count += 1
num = Math.floor(num / 10)
};
return count;
};
const helper = (count, start) => {
let res = start;
while(count > 1 && start < 9){
res = res * 10 + start + 1;
start += 1;
count -= 1;
};
if(count > 1){
return 0;
};
return res;
};
const count1 = findCount(low);
const count2 = findCount(high);
const res = [];
for(let i = count1; i <= count2; i++){
for(let start = 1; start <= 8; start++){
const num = helper(i, start);
if(num >= low && num <= high){
res.push(num);
};
};
};
return res;
};
console.log(sequentialDigits(arr)); 出力
そして、コンソールの出力は-
になります[ 1234, 2345, 3456, 4567, 5678, 6789, 12345 ]
-
JavaScriptを使用して範囲内の数で割り切れる数の数を見つける
問題 最初の引数として2つの整数の範囲を取り、2番目の引数として数値を受け取るJavaScript関数を作成する必要があります。 この関数は、指定された範囲内の入力数値で割り切れるすべての数値を見つけて、それらのカウントを返す必要があります。 例 以下はコードです- const range = [6, 57]; const num = 3; const findDivisibleCount = (num = 1, [l, h]) => { let count = 0; for(let i = l; i <= h; i++){
-
JavaScriptの範囲内の自然数の立方体を合計する
問題 2つの数値の範囲配列を受け取るJavaScript関数を作成する必要があります。この関数は、指定された範囲内にある数値のすべての立方体の合計を見つける必要があります。 例 以下はコードです- const range = [4, 11]; const sumCubes = ([l, h]) => { const findCube = num => num * num * num; let sum = 0; for(let i = l; i <= h; i++){