最高の素数を見つけるJavascriptプログラム

モー

2つの正の整数を受け入れ、それらの間の最大の素数を返すjavascript関数を書き込もうとすると、適切なエラーメッセージが返されます。たとえば、入力番号が50と75の場合、出力は73になり、入力番号は-50になります。 、-75、出力はエラーメッセージである必要があります。

しかし、なぜ私のコードが最大の奇数を返すのかわかりません。

これが私のコードです:

function highestPrimeInRange(int1, int2) {             
  if (int1 <= 0 || int2 <= 0) {            
    alert("Both numbers should be positive and non 0");          
  }          
  let highestPrime;

  for (let i = int1; i <= int2; i++) {            
    let primeFlag = true;              
    for (let j = 2; j <= i / 2; j++) {                
      if (i % j == 0) {                  
        primeFlag = false;                  
        break;                
      }
      if (primeFlag) {                  
        highestPrime = i;                
      }              
    }          
  }          
  alert(highestPrime);          
}
highestPrimeInRange(50, 75);

誰かが私が間違っているところを手伝ってくれませんか?

バーマー

更新するコードhighestPrimejループの外側にある必要があります。また、素数検出コードを続行するのではなく、入力が範囲外の場合に関数から戻る必要があります。

function highestPrimeInRange(int1, int2) {             
  if (int1 <= 0 || int2 <= 0) {            
    alert("Both numbers should be positive and non 0"); 
    return;
  }    
  if (int1 >= int2) {
    alert("First number should be less than second");
    return;
  }   
  let highestPrime;

  for (let i = int1; i <= int2; i++) {            
    let primeFlag = true;              
    for (let j = 2; j <= i / 2; j++) {                
      if (i % j == 0) {                  
        primeFlag = false;                  
        break;                
      }
    }          
    if (primeFlag) {                  
      highestPrime = i;                
    }              
  }          
  alert(highestPrime);          
}
highestPrimeInRange(50, 75);
highestPrimeInRange(-50, -75);
highestPrimeInRange(10, 100);

ただし、最大数からループダウンし、最初の素数を取得したら停止することをお勧めします。

function highestPrimeInRange(int1, int2) {             
  if (int1 <= 0 || int2 <= 0) {            
    alert("Both numbers should be positive and non 0"); 
    return;
  }    
  if (int1 >= int2) {
    alert("First number should be less than second");
    return;
  }   

  for (let i = int2; i >= int1; i--) {            
    let primeFlag = true;              
    for (let j = 2; j <= i / 2; j++) {                
      if (i % j == 0) {                  
        primeFlag = false;                  
        break;                
      }
    }          
    if (primeFlag) {                  
      alert(i);
      break;
    }              
  }          
}
highestPrimeInRange(50, 75);
highestPrimeInRange(-50, -75);
highestPrimeInRange(10, 100);

素数かどうかをテストするためのより効率的な方法もあります。奇数をテストするだけで、奇数の因数による除算をチェックするだけでよく、Math.sqrt(i)ではなくまでテストするだけで済みますi/2

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

素数を見つけるCプログラム

分類Dev

最大の素数除数を見つける(可能な限り最速のプログラム)

分類Dev

最大の素数を見つけるためのTSQLプログラム

分類Dev

エラーを見つけるのを手伝ってください-素数を表示するプログラム

分類Dev

素数を見つけるプログラムは数を返しませんか?

分類Dev

Cプログラミング-素数を見つける

分類Dev

1から100までの素数を見つけるプログラムの問題

分類Dev

素数を見つけるこのプログラムは間違っていますか?

分類Dev

これはCで2から100までの素数を見つけるプログラムです

分類Dev

2つの数の積を見つけるプログラム

分類Dev

1秒で100万までのすべての素数を見つけるプログラム、または可能な限りそれに近い素数を見つけるプログラム?

分類Dev

毎月のプログラムで日を見つける

分類Dev

PrologでGcdを見つけるためのプログラム

分類Dev

除数の奇数番号を見つけるプログラム

分類Dev

2の補数を見つけるCプログラム

分類Dev

文中の母音と子音を見つけるプログラム

分類Dev

次の5つの素数を出力するCプログラム

分類Dev

C ++:数の最大の素数を見つけるプログラム、私のコードの何が問題になっていますか?

分類Dev

最大の素数を見つけるための私のプログラムがコンソールに書き込まないのはなぜですか?

分類Dev

2つの配列で共通の要素を見つけるためのJavascriptプログラム

分類Dev

プログラムでAndroidのドット抜けを見つける方法

分類Dev

rのランダムxの後に素数を見つける

分類Dev

特定のプログラムを実行しているプログラムを見つける方法は?

分類Dev

グレムリンは最高の一致を見つける

分類Dev

Ubuntu Java:特定のプログラムのPIDを見つけてプログラムを強制終了する

分類Dev

プログラムのレンダリングAPIを見つける方法は?

分類Dev

素数の異なるアプローチを見つける

分類Dev

Cプログラムでヒープの破損を見つける

分類Dev

Javaプログラムの時間計算量を見つけるためのプログラム

Related 関連記事

  1. 1

    素数を見つけるCプログラム

  2. 2

    最大の素数除数を見つける(可能な限り最速のプログラム)

  3. 3

    最大の素数を見つけるためのTSQLプログラム

  4. 4

    エラーを見つけるのを手伝ってください-素数を表示するプログラム

  5. 5

    素数を見つけるプログラムは数を返しませんか?

  6. 6

    Cプログラミング-素数を見つける

  7. 7

    1から100までの素数を見つけるプログラムの問題

  8. 8

    素数を見つけるこのプログラムは間違っていますか?

  9. 9

    これはCで2から100までの素数を見つけるプログラムです

  10. 10

    2つの数の積を見つけるプログラム

  11. 11

    1秒で100万までのすべての素数を見つけるプログラム、または可能な限りそれに近い素数を見つけるプログラム?

  12. 12

    毎月のプログラムで日を見つける

  13. 13

    PrologでGcdを見つけるためのプログラム

  14. 14

    除数の奇数番号を見つけるプログラム

  15. 15

    2の補数を見つけるCプログラム

  16. 16

    文中の母音と子音を見つけるプログラム

  17. 17

    次の5つの素数を出力するCプログラム

  18. 18

    C ++:数の最大の素数を見つけるプログラム、私のコードの何が問題になっていますか?

  19. 19

    最大の素数を見つけるための私のプログラムがコンソールに書き込まないのはなぜですか?

  20. 20

    2つの配列で共通の要素を見つけるためのJavascriptプログラム

  21. 21

    プログラムでAndroidのドット抜けを見つける方法

  22. 22

    rのランダムxの後に素数を見つける

  23. 23

    特定のプログラムを実行しているプログラムを見つける方法は?

  24. 24

    グレムリンは最高の一致を見つける

  25. 25

    Ubuntu Java:特定のプログラムのPIDを見つけてプログラムを強制終了する

  26. 26

    プログラムのレンダリングAPIを見つける方法は?

  27. 27

    素数の異なるアプローチを見つける

  28. 28

    Cプログラムでヒープの破損を見つける

  29. 29

    Javaプログラムの時間計算量を見つけるためのプログラム

ホットタグ

アーカイブ