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

一連の操作でJavaScript再帰を使用して特定の数が得られるかどうかを確認します


数字の1から始めて、5を足すか、3を掛けるのを繰り返すことで、無限の数の新しい数字を作り出すことができます。数値を指定して、その数値を生成するそのような加算と乗算のシーケンスを見つけようとする関数を作成する必要があります。そのようなシーケンスが存在するかどうかに基づいてブール値を返します

たとえば、

最初に3を掛けてから5を2回足すと、数値13に到達できるため、関数は13に対してtrueを返す必要がありますが、数値15にはまったく到達できないため、関数は15に対してfalseを返す必要があります。

アプローチ

再帰的アプローチを使用します。このアプローチでは、目的のソリューションにつながるすべての可能性を繰り返し試行します。このアプローチのコードは-

になります

const sequenceExists = (num, curr = 1) => {
   if(curr > num){
      return false;
   };
   if(curr === num){
      return true;
   };
   return sequenceExists(num, curr+5) || sequenceExists(num, curr*3);
};
console.log(sequenceExists(18));
console.log(sequenceExists(15));
console.log(sequenceExists(32));
console.log(sequenceExists(167));
console.log(sequenceExists(17));
console.log(sequenceExists(1119));

出力

コンソールの出力は-

になります
true
false
true
true
false
true

  1. JavaScriptでボタンがクリックされているかどうかを確認するにはどうすればよいですか?

    以下は、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> <s

  2. Enterキーが押されているかどうかを確認し、JavaScriptを使用してコンソールに結果を表示しますか?

    これには、onkeypressを使用します。まず入力テキストを作成しましょう- <input id="textBox" type="text" onkeypress="return demoForEnterKey(event)"/> それでは、demoForEnterKey()関数を見て、Enterキーが押されているかどうかを確認しましょう- function demoForEnterKey(eventName) {    if (eventName.keyCode == 13) {   &