Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

桁の合計を再帰的に1桁の数字に減らしますJavaScript


数値を取り込んで、結果が1桁の数値でなくなるまでその桁を追加し続ける関数を作成する必要があります。1桁の数値がある場合は、それを返します。

このためのコードは非常に単純です。数値が9より大きいか-9より小さいまで数字を追加し続ける再帰関数を記述します(ロジックを2回記述する必要がないように、符号は個別に処理します)

const sumRecursively = (n, isNegative = n < 0) => {
   n = Math.abs(n);
   if(n > 9){
      return sumRecursively(parseInt(String(n).split("").reduce((acc,val) => {
         return acc + +val;
      }, 0)), isNegative);
   }
   return !isNegative ? n : n*-1;
};
console.log(sumRecursively(88));
console.log(sumRecursively(18));
console.log(sumRecursively(-345));
console.log(sumRecursively(6565));

出力

コンソールの出力は-

になります
7
9
-3
4

  1. JavaScriptで数値の数字を区切る

    ユーザーに入力を提供するJavaScriptプログラムを作成する必要があります。ユーザーが値を入力してボタンを押すと、関数は入力が有効な数値であるかどうかを確認する必要があります。有効な数値である場合、プログラムは数値のすべての桁を個別に画面に出力する必要があります。 例-入力が-の場合 43354 その場合、画面の出力は-になります。 43354 この関数のコードを書いてみましょう- このためのコードは-になります HTML <!DOCTYPE html> <html>    <head>     &nb

  2. JavaScriptの数値の階乗で桁数を返す

    問題 最初で唯一の引数として数値numを受け取るJavaScript関数を作成する必要があります。 この関数は、数値numの階乗の桁数を計算して返す必要があります。 たとえば、関数への入力が-の場合 入力 const num = 7; 出力 const output = 4; 出力の説明 7の値だから! 4桁の5040です。 例 以下はコードです- const num = 7; const countDigits = (num = 1) => {    let res = 0;    while(num >= 2){ &