指定した数で割り切れる範囲内のすべての数を出力するPythonプログラム
指定した範囲の中から、特定の数で割り切れるすべての要素を出力したい場合、シンプルな for ループを使うだけで実現できます。
以下に具体的な実装例を示します。
サンプルコード
lower_num = int(input("下限の値を入力してください..."))
upper_num = int(input("上限の値を入力してください..."))
div_num = int(input("割る数を入力してください..."))
for i in range(lower_num, upper_num + 1):
if(i % div_num == 0):
print(i)実行結果
下限の値を入力してください...3 上限の値を入力してください...8 割る数を入力してください...2 4 6 8
処理の流れと解説
まず、ユーザーから範囲の下限(
lower_num)と上限(upper_num)を入力として受け取ります。次に、割り切れるかどうかを判定するための基準となる数(
div_num)もユーザーに入力してもらいます。range(lower_num, upper_num + 1)を使って、下限から上限までの各数値を順番に取り出します。上限値自体も含めたいので、upper_num + 1としている点がポイントです。ループ内では、剰余演算子
%を使ってi % div_num == 0という条件式で割り切れるかどうかを判定します。剰余が0であれば、その数はdiv_numで割り切れることを意味します。条件を満たした数だけが
print()関数によって画面に出力されます。
補足:リスト内包表記を使った別の書き方
よりPythonらしい簡潔な書き方として、リスト内包表記を利用することもできます。
result = [i for i in range(lower_num, upper_num + 1) if i % div_num == 0] print(result)
この方法なら、条件に合致する数値をリストとしてまとめて取得できるため、その後の集計や加工にも活用しやすくなります。
-
Pythonで与えられた数の素因数をすべて効率的に出力するプログラムの作成方法
本記事では、与えられた整数の素因数(そいんすう)をすべて効率的に求めて出力するPythonプログラムについて詳しく解説します。 問題文 ある整数 n が与えられたとき、その数を構成するすべての素因数を見つけて出力することです。 例えば 200 の場合、200 = 2 × 2 × 2 × 5 × 5 と分解できるため、出力は「2, 2, 2, 5, 5」となります。 効率的なアプローチとは 2からnまですべての数で割り切れるかを順番に確認する素朴な方法では、計算量が O(n) かかり非効率です。そこで、次の3つの性質を利用することで、計算量を O(√n) まで削減できます。 まず2で割れるだけ
-
指定された文字列のすべての順列を出力するPythonプログラム
本記事では、以下の問題に対する解決策について詳しく学んでいきます。 問題文 1つの文字列が与えられたとき、その文字列から作成できるすべての順列(並べ替えの組み合わせ)を表示する必要があります。 それでは、以下の実装例で具体的な解決策を見ていきましょう。 実装例 # リストを文字列に変換 def toString(List): return .join(List) # 順列の生成 def permute(a, l, r): if l == r: print(toString(a)) else: for i in range(l, r +