-3

これが質問です。整数が1より大きく、1とそれ自体でのみ割り切れる場合、整数は素数であると言われます。たとえば、2、3、5、および7はプライムですが、4、6、8、および9はプライムではありません。a)数が素数であるかどうかを決定する関数を記述します。b)1から10000までのすべての素数を決定して出力するスクリプトでこの関数を使用します。すべての素数が見つかったことを確認する前に、これらの10000の数のうち実際にテストする必要があるのはいくつですか。結果をに表示します。

これは私のコードです:

function isPrime(n)
{
var  prime=true;
        if(n===1 || n===0)
        {

            prime= false;
        }

        if(n==2)
        {
            prime= true;
        }
        else
        {
            for(var i=2;i<n;i++)
            {
                if(n%i===0)
                {
                    prime= false;
                }
            }
        }
        return prime;
}
function printPrimes()
{

    for(var i=0; i<=1000; i++)
    {
        if(isPrime(i)===true)
        {
            document.writeln("<p>" + i + "</p>");
        }
    }

}
printPrimes();

これは私のhtmlです:

<!DOCTYPE html>
<html>
    <head>
    </head>
        <body>
            <h1> Prime numbers between 1 and 1000 are: </h1>
            <textarea rows="10" cols="15">
            <script src="prime.js" type="text/javascript"> </script>
            </textarea>
        </body>
</html>

Chromeでhtmlファイルを開くと、ヘッダーのみが表示され、スクリプトが実行されていないようです。そして、テキストエリアにそのまま表示されるスクリプトタグのみがテキストエリアに表示されます。何も機能しないことを何百万回も試しましたが、TEXTAREAタグでスクリプトを出力するにはどうすればよいですか????

私はこれを試しましたが、それでも行きません:

 function printPrimes()
{
    var str="";
    for(var i=0; i<=1000; i++)
    {
        if(isPrime(i)===true)
        {
            str+=i +" /n";
        }
    }
    document.getElementById('primes').value=str;

}
printPrimes();

html:

<!DOCTYPE html>
<html>
    <head>
    </head>
        <body>
        `   <script src="prime.js" type="text/javascript"> </script>
            <h1> Prime numbers between 1 and 1000 are: </h1>
            <textarea id="primes" rows="40" cols="50">

            </textarea>
        </body>
</html>

だから、再投稿とわずかな編集で申し訳ありませんが、二度と起こらないでしょう、スタックオーバーフローに不慣れですでに禁止されています、私の禁止を解除できる場合、私はすでに研究を行っている場合、そして私が底を打った場合にのみさらに質問します何も機能していないようです。私は編集投稿に気づきませんでした、重複を投稿するのはばかげた間違いでした、反対票が削除されることを願っています、スクリプト初心者、そしてスタックオーバーフロー初心者、私はidがばかげた質問のために禁止されることに気づきました。ごめん

4

3 に答える 3

2

JavaScriptdocument.getElementByIdを使用して取得できますtextarea(もちろん、テキストエリアに ID を指定する必要があります)。次にvalue、このテキストエリアを変更します。この回答をご覧ください。

于 2013-03-19T14:43:53.600 に答える
0

ここで、次のコードを試してください。更新された textarea 要素、JS 参照の配置、および値の出力に注目してください。

JS ファイル

function isPrime(n){
    var  prime=true;
    if(n===1 || n===0)
    {

        prime= false;
    }

    if(n==2)
    {
        prime= true;
    }
    else
    {
        for(var i=2;i<n;i++)
        {
            if(n%i===0)
            {
                prime= false;
            }
        }
    }
    return prime;
}
function printPrimes()
{

  for(var i=0; i<=1000; i++)
  {
      if(isPrime(i)===true)
      {
          //document.writeln("<p>" + i + "</p>");
          document.getElementById('primeNumbers').value = document.getElementById('primeNumbers').value + i + '\n'; 
      }
  }

}
printPrimes();

HTML

<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
        <h1> Prime numbers between 1 and 1000 are: </h1>
        <textarea rows="10" cols="15" id="primeNumbers"></textarea>
        <script src="prime.js" type="text/javascript"> </script>
    </body>
</html>
于 2013-03-19T14:59:41.387 に答える
0

テキストエリア内に HTML を含めることはできません。

于 2013-03-19T14:45:55.947 に答える