JavaScriptで最大1桁のシャッフルによって形成される最小の数値
問題
正の数nをとるJavaScript関数を書く必要があります。最大で1つの操作を実行できます-
数字の中の数字のインデックスを選択し、そのインデックスでこの数字を削除し、別の数字または数字の同じ場所に挿入して、取得できる最小の数字を見つけます。
関数はこの最小の数値を返す必要があります。
例
以下はコードです-
const num = 354166; const smallestShuffle = (num) => { const arr = String(num).split(''); const { ind } = arr.reduce((acc, val, index) => { let { value, ind } = acc; if(value > val){ value = val; ind = index; }; return { value, ind }; }, { value: Infinity, ind: -1 }); const [item] = arr.splice(ind, 1); arr.unshift(item); return Number(arr.join('')); }; console.log(smallestShuffle(num));
出力
以下はコンソール出力です-
135466
-
JavaScriptでn桁を削除した後の最小数
問題 2つの数値を受け取るJavaScript関数を作成する必要があります。これらを、それぞれ1番目と2番目の引数としてmとnと呼びましょう。 この関数のタスクは、数値mからn桁を削除して、数値mがn桁を削除した後に可能な最小の数値になるようにすることです。そして最後に、関数は数字を削除した後に数値mを返す必要があります。 たとえば、関数への入力が-の場合 const m = '45456757'; const n = 3; その場合、出力は-になります。 const output = '44557'; 出力の説明: 可能な限り最小の数にするために、5
-
C++での1桁の数
数nがあるとすると、n以下のすべての非負の数に現れる数字1の総数を数える必要があります。したがって、入力が15の場合、出力は8になります。これは、1を含む数値が[1,10,11,12,13,14,15]であるため、81が8つあるためです。 これを解決するには、次の手順に従います- ret:=0 i:=1を初期化する場合、i <=nの場合、i =i * 10 do − a:=n / i、b:=n mod i、x:=a mod 10 xが1と同じ場合、 ret =ret +(a / 10)* i +(b + 1) それ以外の場合、xが0と同じ場合、-