주어지는 두 수(start, end)에 대해서, start 이상, end 이하의 숫자 중에 약수가개인 숫자의 개수를 구하는 코드를 작성해보세요.
# 변수 선언 및 입력:
start, end = tuple(map(int, input().split()))
ans = 0
for curr_num in range(start, end + 1):
# Step 1:
divisor_cnt = 0
for divisor in range(1, curr_num + 1):
if curr_num % divisor == 0:
divisor_cnt += 1
# Case 1:
if divisor_cnt == 3:
ans += 1
print(ans)
# 나의 풀이 --------------------------------------------
inp = input().split(" ")
start = int(inp[0])
end = int(inp[1])
cnt = 0 # 약수의 개수가 3개인 것을 저장할 변수
for i in range(start, end +1):
num = 0 # 약수의 개수 , 각 수의 약수를 셀 때 마다 약수의 개수를 0으로 초기화 해줘야 함
for j in range(1, i+1): # 1부터 i까지
if i % j == 0: # j가 i의 약수이면
num += 1 # 약수의 개수를 1씩 늘림
if num == 3: # 약수의 개수가 3이면
cnt += 1 # cnt 변수에 1씩 증가시킴
print(cnt)
'Python > [코드트리]' 카테고리의 다른 글
[코드트리] n번 반복 > 짝수의 합 n번 구하기 (0) | 2023.06.27 |
---|---|
[코드트리] n번 반복 > 소수 구하기 (0) | 2023.06.27 |
[코드트리] n번 반복 > 완전수 (0) | 2023.06.27 |
[코드트리] n번 반복 > 3n + 1 수열 m번(★) (0) | 2023.06.27 |
[코드트리] 알파벳 출력 > 알파벳 출력하기 2 (0) | 2023.06.27 |