[航海]アルゴリズム学習(白駿#1929)


白駿#1929


ショートカット
もんだいぶんせき
M以上N以下のすべての小数を出力するプログラムを作成します.最初の行では、自然数MとNはスペースを隔てて与えられる.(1 ≤ M ≤ N ≤ 1,000,000)
質問へのアクセス
1.小数を求める関数を構築して使用します.(下のコードを参照)
2.MとNの間にスペース=map(int,input()を置きます.split("")を使用します.
必要な関数
①map(A関数、Bセット)
=(コンセプト)Pythonの内蔵関数として、map以下のBセット(リスト、文字列)にA関数を適用します.AとBの両方を埋めなければなりません.
=(例)map(int,input()👉 int関数をコンソールウィンドウに入力した値に適用します.Inputの場合、デフォルトはstrなので、数値を入力して演算するにはintを適用する必要があります.
コード#コード#
import sys
import math
def check(num):   ## 소수인지 체크하는 함수
    if num == 1:
        return False
    else:
        ## 소수의 여부를 확인 할 때는, 특정한 숫자의 제곱근 까지만 약수의 여부를 검증하면 O(N^1/2)의 시간 복잡도로 빠르게 구할 수 있으므로 하기 공식으로 구한다.
        for i in range(2, int(math.sqrt(num)+1)):
            if num%i == 0:
                return False
        return True
a,b = map(int, sys.stdin.readline().split(' ')) # 3 16
for i in range(a, b+1):
    if check(i):
        print(i)