Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
let integer = 89; //任意の整数
let n = 89; //任意の整数

let isPrime = true;
if (integer <= 1) {
if (n <= 1) {
isPrime = false;
}

for (let i = 2; i < integer; i += 1) {
// integerが1以下のときは素数でない
isPrime = isPrime && integer % i != 0;
for (let i = 2; i < n; i += 1) {
// nが1以下のときは素数でない
isPrime = isPrime && n % i != 0;
}

if (isPrime) {
document.write(`${integer} は素数です。`);
document.write(`${n} は素数です。`);
} else {
document.write(`${integer} は素数ではありません。`);
document.write(`${n} は素数ではありません。`);
}
14 changes: 7 additions & 7 deletions docs/1-trial-session/08-loop/_samples/is-prime/script.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
let integer = 57; // 任意の整数
let n = 57; // 任意の整数

let isPrime = true;
if (integer <= 1) {
// integerが1以下のときは素数でない
if (n <= 1) {
// nが1以下のときは素数でない
isPrime = false;
}

for (let i = 2; i < integer; i += 1) {
if (integer % i == 0) {
for (let i = 2; i < n; i += 1) {
if (n % i == 0) {
isPrime = false; // 変数には最後に代入した値のみを保持する
}
}

if (isPrime) {
document.write(`${integer} は素数です`);
document.write(`${n} は素数です`);
} else {
document.write(`${integer} は素数ではありません`);
document.write(`${n} は素数ではありません`);
}
32 changes: 16 additions & 16 deletions docs/1-trial-session/08-loop/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -225,9 +225,9 @@ document.write(product);

### 素数判定問題

ある整数の変数 `integer` が与えられたとき、その値が素数であるかどうか判定して表示する`for`文を書いてみましょう。
ある整数の変数 `n` が与えられたとき、その値が素数であるかどうか判定して表示する`for`文を書いてみましょう。

そして、`integer` に 6、11、57、89 を入れてテストしてみましょう。
そして、`n` に 6、11、57、89 を入れてテストしてみましょう。

:::info
素数の定義は「1より大きい自然数のうち、1とその数以外で割り切れないもの」でしたね。
Expand All @@ -238,7 +238,7 @@ document.write(product);
:::

:::tip 豆知識
自然数`integer`を`i`で割ったあまりは `integer % i`で求められます。
自然数`n`を`i`で割ったあまりは `n % i`で求められます。
:::

### 解答例
Expand All @@ -248,24 +248,24 @@ document.write(product);
変数の、最後に代入した値のみを保持する性質を利用します。

```javascript
let integer = 57; // 任意の整数
let n = 57; // 任意の整数

let isPrime = true;
if (integer <= 1) {
// integerが1以下のときは素数でない
if (n <= 1) {
// nが1以下のときは素数でない
isPrime = false;
}

for (let i = 2; i < integer; i += 1) {
if (integer % i === 0) {
if (n % i === 0) {
isPrime = false;
}
}

if (isPrime) {
document.write(`${integer} は素数です`);
document.write(`${n} は素数です`);
} else {
document.write(`${integer} は素数ではありません`);
document.write(`${n} は素数ではありません`);
}
```

Expand All @@ -276,22 +276,22 @@ if (isPrime) {
前項で割ったあまりが0でないこととの `&&` (AND) をとることで帰納的に求めることもできます。

```javascript
let integer = 89; // 任意の整数
let n = 89; // 任意の整数

let isPrime = true;
if (integer <= 1) {
// integerが1以下のときは素数でない
if (n <= 1) {
// nが1以下のときは素数でない
isPrime = false;
}

for (let i = 2; i < integer; i += 1) {
isPrime = isPrime && integer % i != 0;
for (let i = 2; i < n; i += 1) {
isPrime = isPrime && n % i != 0;
}

if (isPrime) {
document.write(`${integer} は素数です`);
document.write(`${n} は素数です`);
} else {
document.write(`${integer} は素数ではありません`);
document.write(`${n} は素数ではありません`);
}
```

Expand Down