Development Artist

[COS Pro 1급, Python] 4차 10번 : 소수의 세제곱이 몇개가 있나요 본문

Algorithm/COS

[COS Pro 1급, Python] 4차 10번 : 소수의 세제곱이 몇개가 있나요

JMcunst 2022. 2. 25. 13:22
728x90
반응형

문제 유형

 코딩

난이도

 normal

Note 

 1. 3차 6번의 소수 리스트를 뽑는 함수를 사용. (그래서 중요하다고...하였다.)

 2. 제곱도는 for문과 세제곱도는 for문.

 

Code

# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean

def get_prime(n): # very very special
    primes = [2]
    for i in range (3, n + 1, 2) :
        is_prime = True
        for j in range(2, i) :
            if i % j == 0 :
                is_prime = False
                break
        if is_prime :
            primes.append(i)
    return primes

def solution(a, b):
    answer = 0

    primes = get_prime(b)

    #제곱
    for i in primes:
        now = pow(i, 2)
        if a < now < b:
            answer += 1
    #세제곱
    for i in primes:
        now = pow(i, 3)
        if a < now < b:
            answer += 1

    return answer

a =  6
b =  30
ret = solution(a, b)

print("solution 함수의 반환 값은", ret, "입니다.")

 

※ 가끔 코드 중 print(~)가 있습니다. 정리 못한 점 죄송합니다.

728x90
반응형
Comments