素数判定機を作るとjsの基本的な機能がわかります!
作ってみましょう!
どうやって作る?
素数とは何?
素数→1ではない割り切れる数がその数と1しかない数
素数ではないやつ→合成数と1
合成数は、1を含まないn×mを満たす数字(n,mは自然数)
...
入力される値がaとすると、
a = 1 または aを割り切れる数が 2 ~ a-1 (自然数)にあれば素数ではない!
ということがわかります。コードを書いていきましょう!
a = 1 またはa \equiv 0 \mod (2 \sim a-1)_{自然数}
書いていこう
素数判定
a は 1?
そうだったら素数ではない
そうじゃなかったらこれやる
2からa-1まで しらみつぶし(そのしらみつぶししてる数をiにする)
aはiで割り切れる?
そうだったら素数ではない
そうではなかったら素数の可能性がある
素数か素数じゃないかを出す
必要な関数とか計算とか書いていきます。
javascriptの書き方
関数を作る
function 名前(引数1,引数2,...){//引数は数学でいうf(x,y)のxとyのこと
//コード
}
//素数は英語でPrimeという。 関数名をIs_primeとして使うとこうなる
function Is_prime(a){
//コード
}
演算記号
//足し算
1 + 1
n + 5
n + n
//+4
+ 4
//引き算
1 - 1
n - 5
n - n
//-4
- 4
//掛け算
1 * 1
n * 5
n * n
//割り算
1 / 1
n / 5
n / n
//割ったあまり
1 % 1
n % 5
n % n
//混合
6 / 2 + 4 * 2 //11 ちゃんと*(掛け算)や/(割り算)、%(割ったあまり)から計算される
6 / (2 + 4) * 2// 2 ちゃんと括弧から計算される
6 / ((2 + 4) * 2)//0.5 {} []ではなく、一律して()を使う
変数の扱い
let 名前;//名前という名前の変数を作れる。
名前 = 数字とか文字とか;//名前という名前の変数に数字とか文字とかを入れる
let 名前 = 数字とか文字とか;//[let 名前]と[名前 = 数字とか文字とか]を合体したもの
名前 + 1;//名前という名前の変数に1を足したやつ
~が~なら~~する
if(なんかの数字とか文字 条件 なんかの数字とか文字){
//コード
}
if(a == 3){
//aが3なら実行するコード
}
if(a - 8 == 3){
//a-8が3なら実行するコード
}
if(a - 8 > 3){
//a-8が3より大きいなら実行するコード
}
if(a % 8 == 3){
//aを8で割ったあまりが3なら実行するコード
}
== 同じ
> 大きい
< 小さい
>= 以上
<= 以下
!= 同じではない
~が~なら~~する そうではないなら~~する
if(なんかの数字とか文字 条件 なんかの数字とか文字){
//コード
}
if(a == 3){
//aが3なら実行するコード
}else{
//そうではない時に実行するコード
}
if(a - 8 == 3){
//a-8が3なら実行するコード
}else{
//そうではない時に実行するコード
}
if(a - 8 > 3){
//a-8が3より大きいなら実行するコード
}else{
//そうではない時に実行するコード
}
if(a % 8 == 3){
//aを8で割ったあまりが3なら実行するコード
}else{
//そうではない時に実行するコード
}
コードを書こう!
function Is_prime(a){//素数判定
if(a == 1){
//そうだったら素数ではない
}else{
//そうじゃなかったらこれやる
//2からa-1まで しらみつぶし(そのしらみつぶししてる数をiにする)
//aはiで割り切れる?
//そうだったら素数ではない
//そうではなかったら素数の可能性がある
}
//素数か素数じゃないかを出す
}
今日はここまで!!! !! !! !!!!!!?
次回