500error
[Cos Pro 1급, Python] 4차 10번 : 소수의 세제곱이 몇개가 있나요 본문
반응형
문제
자연수를 제곱한 수는 제곱수, 세 제곱한 수는 세제곱 수라고 합니다. 예를 들어 2^2 = 4 는 제곱수, 3^3 = 27은 세제곱수 입니다.
두 자연수 a, b가 주어질 때 a 이상 b 이하인 자연수 중 소수의 제곱수와 세제곱수의 개수를 구하려 합니다. 예를 들어 a = 6, b = 30일 때 소수의 제곱수는 [9, 25]로 2개, 소수의 세제곱수는 [8, 27]로 2개로 총 4개입니다.
두 자연수 a, b가 매개변수로 주어질 때, a 이상 b 이하인 제곱수와 세제곱수의 개수의 합을 return 하도록 solution 함수를 완성해주세요.
코드
def get_prime(n) :
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, "입니다.")
반응형
'알고리즘 > 파이썬' 카테고리의 다른 글
[Cos Pro 1급, Python] 5차 2번 : 물을 최대로 담고 싶어요 (0) | 2024.03.01 |
---|---|
[Cos Pro 1급, Python] 5차 1번 : 우리는 계단도 특별하게 오르죠 (0) | 2024.03.01 |
[Cos Pro 1급, Python] 4차 9번 : 분침과 시침의 각도 구하기 (0) | 2024.02.29 |
[Cos Pro 1급, Python] 4차 8번 : n번째로 작은 수 구하기 (0) | 2024.02.29 |
[Cos Pro 1급, Python] 4차 7번 : RPG스토리 (0) | 2024.02.29 |
Comments