はじめに
絶賛基本情報技術者のアルゴリズムを学習中です!
用語がわからないと問題文すら理解できないので困りました💦
当たり前だなってことも復習として、どんどんアウトプットします!
徐々に増やしていけたらと思います。
誤り等ございましたら、教えていただけますと幸いです🙇
用語
再帰
関数定義の一部にその関数自身を使うもの
このような関数を再帰関数という
数学関係
商
5 ÷ 2 の商という感じで出てきました
普通に計算すると、2.5ですが、答えは2です
商とは割り算の答えの整数部分のみを指すので、
小数点以下の部分は考慮しません
mod
(3 mod 5) + 1 という出てき方をしました
modとはある数を別の数で割った時の「あまり」を求める演算です
今回だと (3 % 5) + 1 = 4 です
あまりの確認方法
3 = 5 * 0 + 3で求められます
素数
1とその数でしか割り切れない自然数のこと
(2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47…)
4は2で割り切れてしまうので素数じゃない
5は1と5でしか割り切れないので素数
自然数
正の整数のこと(1, 2, 3…)0を入れる時もあるそうです
非負の整数と正の整数の違い
- 非負の整数とは0以上の整数を指します
例) 0, 1, 2, 3, 4, ... などが含まれます - 正の整数とは1以上の整数を指します
例) 1, 2, 3, 4, 5, ... などが含まれます
平方根
平方根とは、ある数 n を2乗(自乗)すると元の数 n になる数のことを指します
記号で表すと、数 n の平方根は √n で表されます
例)
√4 = 2 (なぜなら 2 × 2 = 4)
√9 = 3 (なぜなら 3 × 3 = 9)
0.5乗 または 1/2乗
0.5乗と1/2乗が同じことはわかるんですが、
例えば4の2/1乗は√4ということらしいです
調べてみましたが、理屈がイマイチ理解できていません…
階乗
階乗とは、1からある自然数 n までのすべての正の整数を掛け合わせた積で、数学では通常 n! という記号で表されます
例)
0!=1 (特別な定義として、0 の階乗は 1 と定義されます)
1!=1
2!=2×1=2
3!=3×2×1=6
4!=4×3×2×1=24
選択処理
if文
条件式によって処理が分岐
if (条件式1)
処理1
elseif(条件式2)
処理2
else
処理3
endif
while文(前判定繰返し処理)
条件がtrueの間繰り返し実行されるコード
※条件式によっては、繰り返し処理が一度も実行されない場合がある
while (条件式)
処理
endwihle
do while文(後判定繰返し処理)
条件がtrueの間繰り返し実行されるコード
※条件式に関わらず、繰り返し処理が一度は必ず実行される
do
処理
while (条件式)
for文(繰返し処理)
制御記述の内容に基づいて繰り返しが実行されるコード
例) iを1から5まで1ずつ増やす
for (制御記述)
処理
endfor
大域変数(グローバル変数),ローカル変数
大域変数(グローバル変数)
プログラム中のどこからでも呼び出せる変数のこと
下記例の変数totalのこと↓
ローカル変数
一つの関数内でしか使用できない変数のこと
下記例の変数aのこと↓
大域:整数型:total
⚪︎整数型:関数a()
整数型:a.kin
total ← total + a.kin
さいごに
データ構造については長くなったので、こちらの記事にまとめ直しました!