2016-12-15 10 views
0

このような逆算を繰り返さずに乗算表を作成する方法y = z y x = z?私は!==演算子を使って他のものを使用しようとしましたが、何も表示されません。私のコード:x * y = z、y * x = zを繰り返さずにconsole.log乗算表を使う方法

for (var x = 1; x <= 10; x++) { 
    for (var i = 1; i <= 10; i++) { 
     var result = x * i; 
     if (result !== result){ 
      console.log(x + ' * ' + i + ' = ' + result); 
     } 
     else { 

     } 
    } 
} 
+0

* 5 6あなたはそれらの – Bergi

+0

5 * 6を使用してみてください結果!==結果は決して真実になることはありません。これまで – iHasCodeForU

+1

を計算しないしたい理由を私は理解していない6の表で、5の表で追加 –

答えて

5

非常にシンプル:このような何か

for (var x = 1; x <= 10; x++) { 
 
    for (var i = x; i <= 10; i++) { 
 
    var result = x * i; 
 
    console.log(x + ' * ' + i + ' = ' + result); 
 
    } 
 
}

それは後で起動すると、それはすでにやった以前のすべての計算を無視するように、第2のライン上のi = xi = 1を交換してください。

EG:あなたがテーブルを計算しているときはすでにすでにをしたとして、あなたは3 * 3で始めることができます3 * 1(1 * 3)テーブルで3 * 2(2 * 3)テーブルと

+0

しかし、それは完全なテーブルを印刷しません、memoizationはうまくいくでしょう – sinhayash

+1

@sinhayash質問:「x * y = z、y * x = zを繰り返さずにconsole.logの乗算表をどのようにするのですか?印刷全テーブル "を参照してください。私はちょうどその質問に答えました。 – H4ris

+0

掛け算表は1から10を意味します。 – sinhayash

0

あなたはすでにハッシュテーブルで行った計算を追跡することができます。既にテーブルに入っている場合は、その計算をスキップしてください。

var doneCalculations = {}; 
for (var x = 1; x <= 10; x++) { 
    for (var i = 1; i <= 10; i++) {; 
     if (doneCalculations[i+'x'+x]) continue; 
     doneCalculations[x+'x'+i] = true; 
     var result = x * i; 
     console.log(x + ' * ' + i + ' = ' + result); 
    } 
} 
0
は、第1のループ変数を第二のループを開始

for (var x = 1; x <= 10; x++) { 
    for (var i = x; i <= 10; i++) { 
     var result = x * i;   
      console.log(x + ' * ' + i + ' = ' + result);   
    } 
} 
-1

あなたが再計算コンピューティングで

を回避するために、xの各値に対して1〜10を使用メモ化をフル九九を印刷したい、メモ化やメモ化は、コンピュータプログラムをスピードアップするために主に使用される最適化手法であります高価な関数呼び出しの結果を格納し、同じ入力が再び発生したときにキャッシュされた結果を返す。

var doneCalculations = {}; 
 
var calculations = {}; 
 
var doneCalculations = {}; 
 
for (var x = 1; x <= 10; x++) { 
 
    for (var i = 1; i <= 10; i++) {; 
 
     if (doneCalculations[i+'x'+x]) { 
 
      result = calculations[i+'x'+x] 
 
     } 
 
     else { 
 
      doneCalculations[x+'x'+i] = true; 
 
      var result = x * i; 
 
      calculations[x+'x'+i] = result; 
 
     } 
 
     console.log(x + ' * ' + i + ' = ' + result); 
 
    } 
 
} 
 
console.log(calculations)

+0

説明してください、有権者を説明してください。 – sinhayash

+0

問題は、計算を避ける方法ではなく、*印刷*重複計算を避ける方法です。いずれにしても、このような単純なケースではメモは不条理です。 – JJJ

+0

私は、重複計算を避けることが問題であると考えています。印刷は簡単なopearation – sinhayash

関連する問題