ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python (알고리즘 백준 2581)
    Python/Python 알고리즘 2020. 2. 20. 15:01
    반응형

     

    소수 성공

    시간 제한메모리 제한제출정답맞은 사람정답 비율

    1 초 128 MB 26524 10086 8892 39.225%

    문제

    자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오.

    예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최솟값은 61이 된다.

    입력

    입력의 첫째 줄에 M이, 둘째 줄에 N이 주어진다.

    M과 N은 10,000이하의 자연수이며, M은 N보다 작거나 같다.

    출력

    M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 

    단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.

    예제 입력 1 복사

    60 100

    예제 출력 1 복사

    620 61

    예제 입력 2 복사

    64 65

    예제 출력 2 복사

    -1

     

     

     

    a = int(input())
    b = int(input())
    c = []
    d = 0
    a1 = 0
    if a >= b:
        a1 = a
        a = b
        b = a1
    for i in range(a, b+1):
        count = 0
        for j in range(1, i+1):
    
            if i % j == 0:
                count += 1
    
        if count == 2:
    
            c.append(i)
            d += i
    if len(c) == 0:
        c.append(-1)
    if c[0] == -1:
        print(c[0])
    else:
        print(d)
        print(c[0])
    
    반응형

    댓글

Designed by Tistory.