┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ 高度を目指す一日一題宿題メールマガジン .&&&& **** %%%%. ┃
┃ &&&&&&******%%%%%% ┃
┃ 発行 斎藤末広 suehiro3721p@gmail.com @は半角 '&┃&''*┃*''%┃%' ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━┻━━┻━━┛
宿題メールトラブル/問題訂正
https://twitter.com/HomeWorkMail
========================================================================
2024年2月27日
旧暦 睦月(むつき,1月) 18日
2/19 雨水(うすい) → 3/5 啓蟄(けいちつ)
強化したい分野の問題を毎日1問 挑戦しよう
このメールの下部の部分に解答欄があります。返信してください。
======================================================================
☆宿題メールCM 買い物・出張ホテル予約は 楽天
http://tiny.cc/r2w6wz
☆ 携帯/常時接続は、楽天モバイル(特典あり)
https://r10.to/hU7pri
------------------------------------------------------------------------
[[『かんじる Rust』その3 素数を求める]]
以下は、「エラトステネスの篩(ふるい)」と言われている、素数を求める
アルゴリズムを利用してます。
100 までの数字で素数を調べるとき、
要素100個の真偽値配列用意(実際は、101個)
最初は、すべて、true を入れておく
2 倍数を4からすべて false にする
3 倍数を9からすべて false にする
順に、10 の倍数までやる
100 までの数字の中で素数を調べるときは、10 の倍数までを調べたら十分です。
たとえば、99 は、3*3*11 で、3 の倍数かどうかを調べたときに素数でないことが
わかります。
以下のソースの 最初の行の =|AUTO|, と最後の行の ||= は、他の wiki の
書式です。無視をしてください。
=|AUTO|
// エラトステネスの篩(ふるい)の実装
fn sieve_of_eratosthenes(n: usize) -> Vec<usize> { //Vec は、変更可能配列
let mut isp = vec![true; n + 1]; //素数かどうかを保持する配列。変更可能配列初期値はtrue
isp[0] = false; // 0 は、素数でないとする
isp[1] = false; // 1 は、素数でないとする
let rt_n = (n as f64).sqrt() as usize; // n のルートの整数化
for i in 2..= rt_n { // 2の倍数は、false, 3の倍数は、false,,,とやっていく
if isp[i] {
let mut j = i * i;
この記事は約
NaN 分で読めます(
NaN 文字 / 画像
NaN
枚)