3

簡単な宿題があります。3 と 7 で割り切れない 1 から N までのすべての数字を同時に出力するスクリプトを作成してください。

だから、ここに私の解決策があります。仕組み - 3 AND 7 ではなく、3 OR 7 で割るすべての数値を出力します。コードは次のとおりです。

<!DOCTYPE html>
<html>
<head>
    <title>Loops - Task 2</title>
<link href="js-console.css" rel="stylesheet" />
</head>
<body>
    <label for="input_num">Start: </label>
    <input type="text" id="input_num" />

    <a href="#" id="btn" onclick="printNums()">Print numbers</a>

    <div id="js-console"></div>              
    <script src="js-console.js"></script>
    <script>
        var input_num;
        var counter;
        function printNums(){
            input_num = jsConsole.readInteger("#input_num");
            for (counter=1; counter<=input_num; counter++){
                if(counter % 3 !=0 && counter % 7 != 0){
                    jsConsole.writeLine(counter);
                }
              }
    }
    </script>
</body>
</html>
4

5 に答える 5

1

割り当てを正しく理解している場合は、3 と 7 で割り切れないが、1 で割り切れるか、どちらでも割り切れない数値を出力する必要があります。IE 3 と 7 は一方で割り切れるが他方で割り切れないため出力されますが、21 は両方で割り切れるため出力されません。

その場合、ロジックは次のようになります。

if(!((カウンター % 3) == 0 && (カウンター % 7) == 0))

于 2013-08-05T12:25:50.217 に答える
1

「3 と 7 で同時に割り切れない」という意味

!(x % 3 == 0 && x % 7 == 0)

または、ド・モルガンの法則を適用すると、次のようになります。

x % 3 != 0 || x % 7 != 0
于 2013-08-05T12:19:54.470 に答える
0

if(カウンター % 3 !=0 && カウンター % 7 != 0)

これは、数値が 3 で割り切れる場合counter%3!=0は false であるため、条件が false であることを意味します。(7と同じ)。

于 2013-08-05T12:16:23.187 に答える