Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
Q&A
1回答
349閲覧
退会済みユーザー
総合スコア0
0グッド
1クリップ
投稿2020/04/13 08:55
0
1
x -= { j for j in range(i+1,n+1) if j % i == 0 }
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
2020/04/13 08:55
2020/04/13 09:29
2020/04/13 09:36
回答1件
{ j for j in range(i+1, n+1) if j % i == 0 } は、 (i+1)以上で n以下の j のうち、i で割り切れないものの集合(set)。
例えば、i = 3、n = 20 なら、{6, 9, 12, 15, 18} すなわち 3 の倍数です。
x = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 } なら x -= { 6, 9, 12, 15, 18 } で x は { 2, 3, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20 } になります。
次のようにすると、n までの素数が求められます。
Python1n = 20 2x = { i for i in range(2, n+1) } 3m = int(n**0.5) 4for i in range(2, m + 1): 5 x -= { j for j in range(i+1, n+1) if j % i == 0 } 6print(x)
Python
1n = 20 2x = { i for i in range(2, n+1) } 3m = int(n**0.5) 4for i in range(2, m + 1): 5 x -= { j for j in range(i+1, n+1) if j % i == 0 } 6print(x)
投稿2020/04/13 14:34
総合スコア8224
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
まだベストアンサーが選ばれていません
アカウントをお持ちの方はログイン
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.35%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
解説していただきたいです