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

JavaScriptの不器用な階乗問題の解決策


通常、正の整数nの階乗は、n以下のすべての正の整数の積です。たとえば、factorial(10)=10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2*1。

代わりに、不器用な階乗を作成します。整数を降順で使用して、乗算(*)、除算(/)、加算(+)、減算(-)の順に乗算(*)、除算(/)、減算(-)の順に乗算演算を交換します。

たとえば、clumsy(10)=10 * 9/8 + 7-6 * 5/4 + 3-2 * 1です。ただし、これらの演算は、通常の算術演算の順序を使用して適用されます。すべての乗算と除算を実行します。加算または減算ステップの前のステップ、および乗算と除算のステップは左から右に処理されます。

この関数のコードをJavaScriptで書いてみましょう-

const clumsy = num => {
   let k=num;
   let res = 0, temp=1, i=0;
   while(k>0){
      temp = k;
      if(k-1>0){
         temp*=(k-1);
      }
      if(k-2>0){
         temp/=(k-2);
      }
      if(k-3>0){
         if(k===num){
            temp+=(k-3);
         }else{
            temp-=(k-3);
         }
      }
      if(k===num){
         res = temp;
      }else{
         res = res-temp;
      }
      k = k-4;
   }
   return res;
};
console.log(clumsy(4));
console.log(clumsy(10));
console.log(clumsy(16));
console.log(clumsy(5));

出力

コンソールの出力は-

になります
7
11.75
16.609523809523807
7.666666666666668

  1. JavaScriptのimage()オブジェクト。

    画像オブジェクトはHTML要素を表します。 以下はJavaScriptの画像オブジェクトのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> &

  2. Windowsは問題の解決策をチェックしています

    Windows 10でアプリケーションがクラッシュするたびに、エラー報告サービス 解決策のチェックを開始します。時々、それは解決策を見つけることができず、メッセージで立ち往生します—Windowsは問題の解決策をチェックしています 。唯一のオプションは、プログラムを閉じることです。 。これを無効にする場合は、エラー報告サービスを無効にする必要があります。 プログラムが動作を停止しました。Windowsは問題の解決策を確認しています。問題が発生したため、プログラムが正しく動作しなくなりました。 Windowsはプログラムを閉じ、解決策が利用可能かどうかを通知します。 Windowsは