>>55
ご指摘ありがとうございます
変数名を英語やローマ字にしてもわかりにくかったため日本語にしました
あとは無駄な部分を整理した結果シンプルになりました
fn 素数列<T>() -> impl Iterator<Item=T>
where T: Copy + num::One + num::CheckedAdd + std::cmp::PartialOrd,
{
range(T::one(), |_| true)
.filter(|&素数|
range(T::one(), |約数| 約数 < 素数)
.all(|約数|
range(約数, |約数倍数| 約数倍数 <= 素数)
.all(|約数倍数| 約数倍数 != 素数)))
}
fn range<T>(unit: T, cond: impl Fn(T) -> bool) -> impl Iterator<Item=T>
where T: Copy + num::CheckedAdd,
{
itertools::unfold(unit, move |x| {
*x = x.checked_add(&unit)?;
cond(*x).then(|| *x)
})
}
fn main() {
itertools::assert_equal(素数列::<i8>(),
[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127]);
assert_eq!(素数列::<u8>().last(), Some(251));
}
コードが汚いとご批判くださっていた皆さま方
これでいかがでしょうか?
C vs C++ vs Rust Part.2
■ このスレッドは過去ログ倉庫に格納されています
2021/12/17(金) 12:36:06.54ID:M1BnXuWN
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★2 [Hitzeschleier★]
- 日本語が話せない「外国籍」の子が急増中、授業がストップ、教室から脱走も…先生にも大きな負担「日本語支援」追いつかず [七波羅探題★]
- 「暖房が使えない」「食費が高くて子どもの栄養が…」 物価高に苦しむ子育て世帯、政府に期待する支援は [蚤の市★]
- 【米国】「トランプ・ゴールドカード」の受付開始 1億5600万円でアメリカの永住権を獲得 ウェブサイトで申し込み [ぐれ★]
- パワフル女性世界3位に高市首相 米誌フォーブス選出 [蚤の市★]
- 【東京】テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント 通行人の男性巻き込まれ軽傷 六本木 [ぐれ★]
- エナジードリンク、危険だった。飲酒喫煙もせずランニングが趣味の54歳の若者が毎日たった8本飲むだけで脳卒中に [742348415]
- 高市「野党はもう債権とか為替の話はしないで!よく分からないから答えない!」 [884040186]
- Twitter医師ら「死ぬほど勉強して博愛精神求められるとかそらみんな美容外科なるわ。嫌なら普通の医療も保険診療廃止しろ!」 [762037879]
- はるととかいうスマブラやってる不登校のガキしね
- ホロライブvtuberさん、ソシャゲに登場するも演技力で界隈に衝撃が走る [329329848]
- NISAって優れた制度だけど、やってない人多いよな
