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

JavaScriptでmからnに到達するために必要な操作の最小数を見つける


問題

最初と2番目の引数としてmとnの2つの数値を受け取るJavaScript関数を作成する必要があります。

私たちの関数は、これら2つの操作のみを使用して、mからnに到達するために必要な最小操作の数をカウントすることになっています-

  • ダブル −ディスプレイ上の数値に2を掛ける、または;

  • デクリメント −ディスプレイ上の数字から1を引きます。

たとえば、関数への入力が-

の場合
const m = 5;
const n = 8;

その場合、出力は-

になります。
const output = 8;

出力の説明:

操作は-

であるため
5 → 4 → 8

このためのコードは-

になります
const m = 5;
const n = 8;
const findOperations = (m, n) => {
   let res = 0;
   while(n > m){
      if(n % 2 === 0){
         n /= 2;
      }else{
         n += 1;
      };
      res += 1;
   };
   return res + m - n;
};
console.log(findOperations(m, n));

出力

そして、コンソールの出力は-

になります
2

  1. JavaScriptで数値が三角数かどうかを調べる

    三角数 三角数は、正三角形を埋めることができる点の数です。 たとえば、-9は、各辺が4単位の正三角形を作る三角数です。 問題 数値を受け取り、三角数の場合はtrueを返し、それ以外の場合はfalseを返すJavaScript関数を作成する必要があります。 例 以下はコードです- const num = 9; const isTriangular = (num = 1) => {    let i = 4;    if(num === 1){       return true;    

  2. C++でNからMに到達するための最小ステップ数を見つけます

    2つの整数NとMがあるとします。与えられた操作を実行して、NからMに到達するための最小ステップ数を見つける必要があります- 数値xに2を掛けると、xは2*xになります 数値xから1を引くと、数値はx –1になります N=4およびM=6の場合、出力は2になります。したがって、Nに対して操作番号2を実行すると、Nは3になり、更新されたNの値に対して操作番号1を実行すると、2 * 3=6になります。したがって、最小ステップ数は2になります。 この問題を解決するために、次のルールに従います- Mから始まる数Nを取るように、問題を元に戻すことができるので、新しい2つの操作が行われます